posix_madvise(3) Library Functions Manual posix_madvise(3)

posix_madvise - oferă indicații despre modelele de utilizare a memoriei

Biblioteca C standard (libc, -lc)

#include <sys/mman.h>
int posix_madvise(void addr[.len], size_t len, int advice);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

posix_madvise():

    _POSIX_C_SOURCE >= 200112L

Funcția posix_madvise() permite unei aplicații să informeze sistemul cu privire la modelele preconizate de utilizare a memoriei în intervalul de adrese începând de la addr și continuând cu len octeți. Sistemul este liber să utilizeze aceste indicații pentru a îmbunătăți performanța accesărilor de memorie (sau să ignore complet aceste indicații), dar apelarea funcției posix_madvise() nu trebuie să afecteze semantica accesului la memorie în intervalul specificat.

Argumentul advice este unul dintre următoarele:

Aplicația nu are nicio indicație specială cu privire la modelele de utilizare a memoriei pentru intervalul de adrese specificat. Acesta este comportamentul implicit.
Aplicația se așteaptă să acceseze secvențial intervalul de adrese specificat, de la adresele inferioare la cele superioare. Prin urmare, paginile din această regiune pot fi citite agresiv înainte și pot fi eliberate imediat după ce sunt accesate.
Aplicația se așteaptă să acceseze intervalul de adrese specificat în mod aleatoriu. Astfel, citirea înainte poate fi mai puțin utilă decât în mod normal.
Aplicația se așteaptă să acceseze intervalul de adrese specificat în viitorul apropiat. Astfel, citirea anticipată poate fi benefică.
Aplicația se așteaptă să nu acceseze intervalul de adrese specificat în viitorul apropiat.

În caz de succes, posix_madvise() returnează 0. În caz de eșec, returnează un număr pozitiv de eroare.

addr nu este un multiplu al dimensiunii paginii de sistem sau len este negativă.
advice nu este validă.
Adresele din intervalul specificat sunt parțial sau complet în afara spațiului de adrese al apelantului.

POSIX.1 permite unei implementări să genereze o eroare în cazul în care len este 0. În Linux, este permisă specificarea lui len ca fiind 0 (ca un no-op cu succes).

În glibc, această funcție este implementată folosind madvise(2). Cu toate acestea, începând cu glibc 2.6, POSIX_MADV_DONTNEED este tratată ca un no-op, deoarece valoarea corespunzătoare madvise(2), MADV_DONTNEED, are o semantică distructivă.

POSIX.1-2008.

glibc 2.2. POSIX.1-2001.

madvise(2), posix_fadvise(2)

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.

2 mai 2024 Pagini de manual de Linux 6.8