Man page - posix_madvise(3)

Packages contains this manual

Available languages:

en fr ru ro

Manual

posix_madvise

НАИМЕНОВАНИЕ
БИБЛИОТЕКА
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
ВЕРСИИ
СТАНДАРТЫ
ИСТОРИЯ
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД

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

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 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

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