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

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

       mincore - определяет, хранятся ли страницы в памяти

БИБЛИОТЕКА

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

ОБЗОР

       #include <sys/mman.h>

       int mincore(void addr[.length], size_t length, unsigned char *vec);

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

       mincore():
           начиная с glibc 2.19:
               _DEFAULT_SOURCE
           в glibc 2.19 и старее:
               _BSD_SOURCE || _SVID_SOURCE

ОПИСАНИЕ

       mincore()  возвращает  вектор,  описывающий  страницы  виртуальной  памяти  вызывающего процесса, которые
       находятся в физической памяти (core, RAM) и поэтому доступ к ним не приводит к обращению к  дискам.  Ядро
       возвращает информацию о страницах, которые расположены начиная с адреса addr и занимают length байт.

       Значение  аргумента  addr  должно быть кратно размеру системной страницы. Значение аргумента length может
       быть не кратно  размеру  страницы,  но  так  как  возвращается  информация  по  целым  страницам,  length
       округляется  до  следующего  значения,  кратного размеру страницы. Размер страницы (PAGE_SIZE) может быть
       получен с помощью sysconf(_SC_PAGESIZE).

       Аргумент vec должен указывать на массив размером не менее  (length+PAGE_SIZE-1)  /  PAGE_SIZE  байт.  При
       возврате  самый  младший  значимый  бит  каждого  байта  будет  установлен, если соответствующая страница
       находится в памяти, и будет сброшен, если это не так. (Значения других битов каждого байта не определено;
       эти биты зарезервированы для использования в будущем.) Естественно, информация, возвращаемая в vec, носит
       моментальный характер: страницы, которые не заблокированы  в  памяти,  могут  быть  удалены  из  неё  или
       добавлены в любой момент, и содержимое vec может стать неактуальным уже на момент возврата из вызова.

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

       On success, mincore()  returns zero.  On error, -1 is returned, and errno is set to indicate the error.

ОШИБКИ

       EAGAIN ядру временно не хватает ресурсов.

       EFAULT vec указывает на неправильный адрес.

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

       ENOMEM Значение  length  больше  чем  (TASK_SIZE  -  addr).  (Это  может произойти, если в length указано
              отрицательное значение, так как это значение воспринимается  как  большое  беззнаковое  целое.)  В
              Linux 2.6.11 и более ранних версиях в этом случае возвращалась ошибка EINVAL.

       ENOMEM С адреса addr по адрес addr + length содержится память без отображения.

СТАНДАРТЫ

       Отсутствуют.

ИСТОРИЯ

       Linux 2.3.99pre1, glibc 2.2.

       Впервые появился в 4.4BSD.

       NetBSD, FreeBSD, OpenBSD, Solaris 8, AIX 5.1, SunOS 4.1.

ОШИБКИ

       Before  Linux  2.6.21,  mincore()   did  not  return correct information for MAP_PRIVATE mappings, or for
       nonlinear mappings (established using remap_file_pages(2)).

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

       fincore(1), madvise(2), mlock(2), mmap(2), posix_fadvise(2), posix_madvise(3)

ПЕРЕВОД

       Русский  перевод  этой   страницы   руководства   разработал(и)   aereiae   <aereiae@gmail.com>,   Alexey
       <a.chepugov@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>,
       Dmitry  Bolkhovskikh  <d20052005@yandex.ru>,  ITriskTI <ITriskTI@gmail.com>, Max Is <ismax799@gmail.com>,
       Yuri  Kozlov  <yuray@komyakino.ru>,  Иван  Павлов   <pavia00@gmail.com>,   Малянов   Евгений   Викторович
       <maljanow@outlook.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 г.                                       mincore(2)