.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2001 Bert Hubert .\" and Copyright (C) 2007 Michael Kerrisk .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" Created Sun Jun 3 17:23:32 2001 by bert hubert .\" Slightly adapted, following comments by Hugh Dickins, aeb, 2001-06-04. .\" Modified, 20 May 2003, Michael Kerrisk .\" Modified, 30 Apr 2004, Michael Kerrisk .\" 2005-04-05 mtk, Fixed error descriptions .\" after message from .\" 2007-01-08 mtk, rewrote various parts .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH MINCORE 2 "15 сентября 2017 г." Linux "Руководство программиста Linux" .SH ИМЯ mincore \- определяет, хранятся ли страницы в памяти .SH СИНТАКСИС \fB#include \fP .br \fB#include \fP .PP \fBint mincore(void *\fP\fIaddr\fP\fB, size_t \fP\fIlength\fP\fB, unsigned char *\fP\fIvec\fP\fB);\fP .PP .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP \fBmincore\fP(): начиная с glibc 2.19: _DEFAULT_SOURCE в glibc 2.19 и старее: _BSD_SOURCE || _SVID_SOURCE .SH ОПИСАНИЕ \fBmincore\fP() возвращает вектор, описывающий страницы виртуальной памяти вызывающего процесса, которые находятся в физической памяти (core, RAM) и поэтому доступ к ним не приводит к обращению к дискам. Ядро возвращает информацию о страницах, которые расположены начиная с адреса \fIaddr\fP и занимают \fIlength\fP байт. .PP Значение аргумента \fIaddr\fP должно быть кратно размеру системной страницы. Значение аргумента \fIlength\fP может быть не кратно размеру страницы, но так как возвращается информация по целым страницам, \fIlength\fP округляется до следующего значения, кратного размеру страницы. Размер страницы (\fBPAGE_SIZE\fP) может быть получен с помощью \fIsysconf(_SC_PAGESIZE)\fP. .PP Аргумент \fIvec\fP должен указывать на массив размером не менее \fI(length+PAGE_SIZE\-1) / PAGE_SIZE\fP байт. При возврате самый младший значимый бит каждого байта будет установлен, если соответствующая страница находится в памяти, и будет сброшен, если это не так. (Значения других битов каждого байта не определено; эти биты зарезервированы для использования в будущем.) Естественно, информация, возвращаемая в \fIvec\fP, носит моментальный характер: страницы, которые не заблокированы в памяти, могут быть удалены из неё или добавлены в любой момент, и содержимое \fIvec\fP может стать неактуальным уже на момент возврата из вызова. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При нормальном завершении работы \fBmincore\fP() возвращает ноль. При ошибках возвращается \-1, а переменной \fIerrno\fP присваивается соответствующее значение. .SH ОШИБКИ \fBEAGAIN\fP ядру временно не хватает ресурсов. .TP \fBEFAULT\fP \fIvec\fP указывает на неправильный адрес. .TP \fBEINVAL\fP Значение \fIaddr\fP не кратно размеру страницы. .TP \fBENOMEM\fP Значение \fIlength\fP больше чем (\fITASK_SIZE\fP \- \fIaddr\fP). (Это может произойти, если в \fIlength\fP указано отрицательное значение, так как это значение воспринимается как большое беззнаковое целое.) В Linux 2.6.11 и более ранних версиях в этом случае возвращалась ошибка \fBEINVAL\fP. .TP \fBENOMEM\fP С адреса \fIaddr\fP по адрес \fIaddr\fP + \fIlength\fP содержится память без отображения. .SH ВЕРСИИ Доступен начиная с Linux 2.3.99pre1 и glibc 2.2. .SH "СООТВЕТСТВИЕ СТАНДАРТАМ" .\" It is on at least NetBSD, FreeBSD, OpenBSD, Solaris 8, .\" AIX 5.1, SunOS 4.1 .\" .SH HISTORY .\" The .\" .BR mincore () .\" function first appeared in 4.4BSD. Системный вызов \fBmincore\fP() не определён в стандарте POSIX.1 и отсутствует во всех реализациях UNIX. .SH ДЕФЕКТЫ .\" Linux (up to now, 2.6.5), .\" .B mincore .\" does not return correct information for MAP_PRIVATE mappings: .\" for a MAP_PRIVATE file mapping, .\" .B mincore .\" returns the residency of the file pages, rather than any .\" modified process-private pages that have been copied on write; .\" for a MAP_PRIVATE mapping of .\" .IR /dev/zero , .\" .B mincore .\" always reports pages as nonresident; .\" and for a MAP_PRIVATE, MAP_ANONYMOUS mapping, .\" .B mincore .\" always fails with the error .\" .BR ENOMEM . До ядра версии 2.6.21, \fBmincore\fP() не возвращал правильные данные для отображений \fBMAP_PRIVATE\fP или для нелинейных отображений (заданных с помощью \fBremap_file_pages\fP(2)). .SH "СМ. ТАКЖЕ" \fBfincore\fP(1), \fBmadvise\fP(2), \fBmlock\fP(2), \fBmmap\fP(2), \fBposix_fadvise\fP(2), \fBposix_madvise\fP(3) .SH ЗАМЕЧАНИЯ Эта страница является частью проекта Linux \fIman\-pages\fP версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу \%https://www.kernel.org/doc/man\-pages/. .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан aereiae , Alexey , Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , ITriskTI , Max Is , Yuri Kozlov , Иван Павлов и Малянов Евгений Викторович . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .