get_phys_pages, get_avphys_pages - Obtenir le nombre total de pages de
mémoire physique et le nombre de pages disponibles
Bibliothèque C standard (
libc,
-lc)
#include <sys/sysinfo.h>
long get_phys_pages(void);
long get_avphys_pages(void);
La fonction
get_phys_pages() renvoie le nombre total de pages de
mémoire physique disponibles sur le système.
La fonction
get_avphys_pages() renvoie le nombre de pages de
mémoire physique actuellement disponibles sur le système.
En cas de succès, ces fonctions renvoient une valeur non négative
comme indiqué dans DESCRIPTION. En cas d'erreur, elles renvoient
-1 et définissent
errno de façon à
préciser la nature de l'erreur.
- ENOSYS
- Le système n'a pas pu fournir les informations
demandées (peut-être parce que le système de fichiers
/proc n'était pas monté).
Ces fonctions sont des extensions GNU.
Avec les versions antérieures à 2.23 de la glibc, ces
fonctions obtenaient les informations demandées en consultant les
champs
MemTotal et
MemFree de
/proc/meminfo. Depuis la
version 2.23 de la glibc, elles obtiennent ces mêmes
informations en effectuant un appel à
sysinfo(2).
Les appels à
sysconf(3) suivants permettent d'obtenir de
manière portable les mêmes informations qu'avec les fonctions
décrites dans cette page.
total_pages = sysconf(_SC_PHYS_PAGES); /* nombre total de pages */
avl_pages = sysconf(_SC_AVPHYS_PAGES); /* nombre de pages disponibles */
L'exemple suivant montre comment utiliser
get_phys_pages() et
get_avphys_pages().
#include <stdio.h>
#include <stdlib.h>
#include <sys/sysinfo.h>
int
main(void)
{
printf("Ce système possède %ld pages de mémoire physique et "
"%ld pages sont disponibles.\n",
get_phys_pages(), get_avphys_pages());
exit(EXIT_SUCCESS);
}
sysconf(3)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]> et
Lucien Gentis <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]