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

НАИМЕНОВАНИЕ

       posix_madvise - отсылает предложения по шаблонам использования памяти

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <sys/mman.h>

       int posix_madvise(void addr[.len], size_t len, int advice);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       posix_madvise():
           _POSIX_C_SOURCE >= 200112L

ОПИСАНИЕ

       Функция  posix_madvise() позволяет приложению показывать системе свои ожидания при использовании памяти в
       диапазоне начиная с адреса addr и длиной  len  байт.  Система  может  использовать  это  предложение  для
       улучшения производительности доступа к памяти (или игнорировать), но вызов posix_madvise() не повлияет на
       семантику доступа к памяти в указанном диапазоне.

       В аргументе advice указывается одно из следующих значений:

       POSIX_MADV_NORMAL
              Приложение  не  даёт  каких-либо  предложений  о  том,  как  будет использована память в указанном
              диапазоне. Поведение по умолчанию.

       POSIX_MADV_SEQUENTIAL
              Приложение будет последовательно обращаться к памяти в указанном диапазоне  адресов,  от  младшего
              адреса  к  старшему.  Следовательно,  все  страницы  в  этом  диапазоне  можно заранее прочитать и
              освободить сразу после доступа к ним.

       POSIX_MADV_RANDOM
              Приложение будет  обращаться  по  указанному  диапазону  адресов  в  случайном  порядке.  То  есть
              упреждающее чтение может быть менее эффективным, чем обычно.

       POSIX_MADV_WILLNEED
              Приложение  обратится  по  указанному  диапазону  адресов  в  в  ближайшем  будущем.  То  есть  от
              упреждающего чтения можно выиграть.

       POSIX_MADV_DONTNEED
              Приложение не будет обращаться по указанному диапазону адресов в в ближайшем будущем.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При успешном выполнении posix_madvise() возвращает 0. При ошибке возвращается положительный номер ошибки.

ОШИБКИ

       EINVAL Значение addr не кратно размеру системной страницы или значение len отрицательно.

       EINVAL Неверное значение advice.

       ENOMEM Адреса в указанном диапазоне частично или полностью лежат вне адресного пространства вызывающего.

ВЕРСИИ

       В POSIX.1 допускается, что реализация генерирует ошибку, если len равно 0. В Linux допустимо значение len
       равное 0 (ничего не делается).

       В glibc эта функция реализована через вызов madvise(2). Однако, начиная с glibc 2.6,  POSIX_MADV_DONTNEED
       для   ничего   не   делается,  так  как  соответствующее  значение  в  madvise(2),  MADV_DONTNEED,  имеет
       разрушительную семантику.

СТАНДАРТЫ

       POSIX.1-2008.

ИСТОРИЯ

       glibc 2.2.  POSIX.1-2001.

СМОТРИТЕ ТАКЖЕ

       madvise(2), posix_fadvise(2)

ПЕРЕВОД

       Русский    перевод    этой    страницы    руководства    разработал(и)    Alexey,     Azamat     Hackimov
       <azamat.hackimov@gmail.com>,       kogamatranslator49       <r.podarov@yandex.ru>,      Darima      Kogan
       <silverdk99@gmail.com>, Max  Is  <ismax799@gmail.com>,  Yuri  Kozlov  <yuray@komyakino.ru>,  Иван  Павлов
       <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                 posix_madvise(3)