.\" -*- coding: UTF-8 -*- .\" Copyright 2015, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH posix_madvise 3 "8 февраля 2026 г." "Linux man\-pages 6.18" .SH НАИМЕНОВАНИЕ posix_madvise \- отсылает предложения по шаблонам использования памяти .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP,\ \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBint posix_madvise(\fPsize_t size; \fB void \fP\fIaddr\fP\fB[\fP\fIsize\fP\fB], size_t \fP\fIsize\fP\fB, int \fP\fIadvice\fP\fB);\fP .fi .P .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .P \fBposix_madvise\fP(): .nf _POSIX_C_SOURCE >= 200112L .fi .SH ОПИСАНИЕ The \fBposix_madvise\fP() function allows an application to advise the system about its expected patterns of usage of memory in the address range starting at \fIaddr\fP and continuing for \fIsize\fP bytes. The system is free to use this advice in order to improve the performance of memory accesses (or to ignore the advice altogether), but calling \fBposix_madvise\fP() shall not affect the semantics of access to memory in the specified range. .P В аргументе \fIadvice\fP указывается одно из следующих значений: .TP \fBPOSIX_MADV_NORMAL\fP Приложение не даёт каких\-либо предложений о том, как будет использована память в указанном диапазоне. Поведение по умолчанию. .TP \fBPOSIX_MADV_SEQUENTIAL\fP Приложение будет последовательно обращаться к памяти в указанном диапазоне адресов, от младшего адреса к старшему. Следовательно, все страницы в этом диапазоне можно заранее прочитать и освободить сразу после доступа к ним. .TP \fBPOSIX_MADV_RANDOM\fP Приложение будет обращаться по указанному диапазону адресов в случайном порядке. То есть упреждающее чтение может быть менее эффективным, чем обычно. .TP \fBPOSIX_MADV_WILLNEED\fP Приложение обратится по указанному диапазону адресов в в ближайшем будущем. То есть от упреждающего чтения можно выиграть. .TP \fBPOSIX_MADV_DONTNEED\fP Приложение не будет обращаться по указанному диапазону адресов в в ближайшем будущем. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При успешном выполнении \fBposix_madvise\fP() возвращает 0. При ошибке возвращается положительный номер ошибки. .SH ОШИБКИ .TP \fBEINVAL\fP \fIaddr\fP is not a multiple of the system page size or \fIsize\fP is negative. .TP \fBEINVAL\fP Неверное значение \fIadvice\fP. .TP \fBENOMEM\fP Адреса в указанном диапазоне частично или полностью лежат вне адресного пространства вызывающего. .SH ВЕРСИИ POSIX.1 permits an implementation to generate an error if \fIsize\fP is 0. On Linux, specifying \fIsize\fP as 0 is permitted (as a successful no\-op). .P В glibc эта функция реализована через вызов \fBmadvise\fP(2). Однако, начиная с glibc 2.6, \fBPOSIX_MADV_DONTNEED\fP для ничего не делается, так как соответствующее значение в \fBmadvise\fP(2), \fBMADV_DONTNEED\fP, имеет разрушительную семантику. .SH СТАНДАРТЫ POSIX.1\-2008. .SH ИСТОРИЯ glibc 2.2. POSIX.1\-2001. .SH "СМОТРИТЕ ТАКЖЕ" \fBmadvise\fP(2), \fBposix_fadvise\fP(2) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Alexey, Azamat Hackimov , kogamatranslator49 , Darima Kogan , Max Is , Yuri Kozlov и Иван Павлов . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT debian-l10n-russian@lists.debian.org списка рассылки русских переводчиков .ME .