Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       alloc_hugepages, free_hugepages - alocă sau eliberează pagini imense

SINOPSIS

       void *syscall(SYS_alloc_hugepages, int key, void addr[.len], size_t len,
                     int prot, int flag);
       int syscall(SYS_free_hugepages, void *addr);

       Notă: Nu există nicio funcție învăluitoare (wrapper) glibc pentru aceste apeluri de sistem astfel că este
       necesară utilizarea a syscall(2).

DESCRIERE

       Apelurile  de sistem alloc_hugepages() și free_hugepages() au fost introduse în Linux 2.5.36 și eliminate
       din nou  în  Linux  2.5.54.  Ele  existau  numai  pe  i386  și  ia64  (atunci  când  erau  construite  cu
       CONFIG_HUGETLB_PAGE).  În  Linux  2.4.20,  numerele  de  apel  de sistem există, dar apelurile eșuează cu
       eroarea ENOSYS.

       Pe i386, componentele electronice de gestionare a memoriei știu  despre  paginile  obișnuite  (4 Kio)  și
       paginile  imense  (2  sau 4 Mio). În mod similar, ia64 știe despre pagini imense de mai multe dimensiuni.
       Aceste apeluri de sistem servesc  la  cartografierea  paginilor  imense  în  memoria  procesului  sau  la
       eliberarea lor din nou. Paginile imense sunt blocate în memorie și nu sunt interschimbate (realocate).

       Argumentul  key  este un identificator. Atunci când este zero, paginile sunt private și nu sunt moștenite
       de procesele-copil. Dacă este pozitiv, paginile sunt partajate cu alte aplicații care utilizează  același
       key și sunt moștenite de procesele-copil.

       Argumentul  addr  din  free_hugepages()  indică ce pagină este eliberată: a fost valoarea de întoarcere a
       unui apel la alloc_hugepages() (memoria este eliberată efectiv pentru prima dată când  toți  utilizatorii
       au  eliberat-o).  Argumentul addr al alloc_hugepages() este o indicație, pe care nucleul o poate urma sau
       nu. Adresele trebuie să fie aliniate corespunzător.

       Argumentul len este lungimea segmentului necesar. Acesta trebuie să fie un multiplu al dimensiunii imense
       a paginii.

       Argumentul prot specifică protecția  de  memorie  a  segmentului.  Acesta  este  unul  dintre  PROT_READ,
       PROT_WRITE și PROT_EXEC.

       Argumentul  flag este ignorat, cu excepția cazului în care key este pozitiv. În acest caz, dacă flag este
       IPC_CREAT, atunci se creează un nou segment de pagină imensă atunci când  nu  există  niciunul  cu  cheia
       (key)  dată.  Dacă  acest  indicator  nu  este definit, atunci ENOENT este returnat atunci când nu există
       niciun segment cu cheia (key) dată.

VALOAREA RETURNATĂ

       În caz de succes, alloc_hugepages() returnează adresa virtuală alocată, iar  free_hugepages()  returnează
       zero. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

       ENOSYS Apelul de sistem nu este acceptat pe acest nucleu.

FIȘIERE

       /proc/sys/vm/nr_hugepages
              Numărul de pagini „hugetlb” configurate. Acesta poate fi citit și scris.

       /proc/meminfo
              Oferă  informații despre numărul de pagini „hugetlb” configurate și despre dimensiunea acestora în
              cele trei variabile HugePages_Total, HugePages_Free și Hugepagesize.

STANDARDE

       Linux pe procesoarele Intel.

ISTORIC

       Aceste apeluri de sistem au dispărut; ele au existat doar în Linux 2.5.36 până la Linux 2.5.54.

NOTE

       Acum poate fi folosit în schimb sistemul de fișiere „hugetlbfs”. Memoria susținută de pagini  imense  (în
       cazul  în  care  procesorul  le  acceptă)  este  obținută  prin  utilizarea mmap(2) pentru cartografierea
       fișierelor în acest sistem de fișiere virtual.

       Numărul maxim de pagini imense poate fi specificat cu ajutorul parametrului de pornire hugepages=.

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel    Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 sau o
       versiune  ulterioară  cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se   asumă   NICIO
       RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                 alloc_hugepages(2)