table of contents
other sections
MINCORE(2) | Manual del Programador de Linux | MINCORE(2) |
NOMBRE¶
mincore - obtiene información de qué páginas están en memoriaSINOPSIS¶
#include <unistd.h>#include <sys/mman.h>
int mincore(void *start, size_t length, unsigned char *vec);
DESCRIPCIÓN¶
La función mincore solicita un vector describiendo qué páginas de un fichero están en memoria y pueden ser leídas sin acceder a disco. El núcleo suministrará los datos para los length bytes siguientes a la dirección start. Cuando regrese, el núcleo habrá rellenado vec con bytes, de los cuales el bit menos significativo indica si una página está residente en memoria.Para que mincore tenga éxito, start debe estar situada en un límite de página. Es responsabilidad del invocador redondear este valor a la página más cercana. El parámetro length no necesita ser un múltiplo del tamaño de página. El vector vec debe ser lo suficientemente grande para contener length/PAGE_SIZE bytes. El tamaño de página puede obtenerse con getpagesize(2).
VALOR DEVUELTO¶
En caso de éxito, mincore devuelve cero. En caso de error, se devuelve -1, y errno es modificado con el valor apropiado.ERRORES¶
EAGAIN el núcleo se ha quedado temporalmente sin recursos- EINVAL
- start no es múltiplo del tamaño de página, o len tiene un valor no positivo
- EFAULT
- vec apunta a una dirección inválida
- ENOMEM
- address a address + length contiene memoria sin ubicar, o la memoria no es parte de un fichero.
FALLOS¶
mincore debería devolver un vector de bits y no un vector de bytes, A partir de la versión 2.4.5 de Linux, no es posible obtener información sobre la residencia en memoria de páginas no respaldadas por un fichero. En otras palabras, una llamada a mincore sobre una región anónima devuelta por mmap(2) no funciona y asigna a errno el valor ENOMEM. A menos que las páginas estén bloqueadas en memoria, el contenido de vec puede estar desfasado para cuando alcancen el espacio de usuario.CONFORME A¶
mincore no parece ser parte de POSIX o de la Single Unix Specification.HISTORIA¶
La función mincore() apareció por primera vez en 4.4BSD.DISPONIBILIDAD¶
Presente desde Linux 2.3.99pre1 y glibc 2.2.VÉASE TAMBIÉN¶
getpagesize(2), mmap(2)3 junio 2001 | Linux 2.4.5 |