mincore(2) System Calls Manual mincore(2) NOM mincore - Determiner quelles pages se trouvent en memoire physique BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int mincore(void addr[.length], size_t length, unsigned char *vec); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : mincore(): Depuis la glibc 2.19 : _DEFAULT_SOURCE glibc 2.19 et anterieures : _BSD_SOURCE || _SVID_SOURCE DESCRIPTION mincore() renvoie un tableau qui indique si les pages de l'espace d'adressage virtuel du processus appelant sont en memoire physique (RAM), auquel cas un acces a ces pages ne causera pas d'acces disque (defaut de page). Le noyau renvoie les informations concernant les pages a partir de l'adresse addr sur une longueur de length octets. Le parametre addr doit etre un multiple de la taille de page du systeme. Le parametre length n'est pas forcement multiple de la taille de page, mais comme les informations sur les pages residentes en memoire sont renvoyees pour des pages entieres, length est en pratique arrondie au multiple superieur de la taille de page. On peut obtenir la taille de page (PAGE_SIZE) en appelant sysconf(_SC_PAGESIZE). Le parametre vec doit pointer sur un tableau de longueur au moins egale a (length+PAGE_SIZE-1) / PAGE_SIZE octets. En retour, le bit de poids faible de chaque octet sera a 1 si la page correspondante est en memoire physique, a 0 sinon (les autres bits de chaque octet sont indefinis ; ils sont reserves pour une possible utilisation ulterieure). Bien sur, ce n'est qu'un instantane -- les pages qui ne sont pas verrouillees en memoire peuvent aller et venir a tout moment, et le contenu de vec peut etre deja perime au retour de l'appel. VALEUR RENVOYEE S'il reussit, mincore() renvoie zero. En cas d'erreur, la valeur de retour est -1 et errno est defini pour preciser l'erreur. ERREURS EAGAIN Le noyau manque temporairement de ressources. EFAULT vec pointe vers une adresse illegale. EINVAL addr n'est pas un multiple de la taille de page. ENOMEM length est plus grand que (TASK_SIZE - addr). Ceci peut se produire si length a une valeur negative, car cette valeur sera interpretee comme un entier non signe. Sous Linux 2.6.11 et precedents, cette condition renvoyait l'erreur EINVAL. ENOMEM La zone entre addr et addr + length contient de la memoire non projetee. STANDARDS Auncun. HISTORIQUE Linux 2.3.99pre1, glibc 2.2. Apparu dans 4.4BSD. NetBSD, FreeBSD, OpenBSD, Solaris 8, AIX 5.1, SunOS 4.1. BOGUES Avant Linux 2.6.21, mincore() ne renvoyait pas d'information correcte pour les projections MAP_PRIVATE ou pour les projections non lineaires (etablies avec remap_file_pages(2)). VOIR AUSSI fincore(1), madvise(2), mlock(2), mmap(2), posix_fadvise(2), posix_madvise(3) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Philippe MENGUAL Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 mincore(2)