Provided by: manpages-ru_0.98-4_all bug

ИМЯ

       sysinfo - возвращает информацию по общесистемной статистике

ОБЗОР

       #include <sys/sysinfo.h>

       int sysinfo(struct sysinfo *info);

ОПИСАНИЕ

       Начиная  с  Linux  2.3.16,  sysinfo  используется  для  получения  информации  в следующей
       структуре:

              struct sysinfo {
                   long uptime;             /* секунд с момента начальной загрузки */
                   unsigned long loads[3];  /* средняя загрузка системы за 1, 5 и 15 минут */
                   unsigned long totalram;  /* общее количество оперативной памяти */
                   unsigned long freeram;   /* объём доступной памяти */
                   unsigned long sharedram; /* объём разделяемой памяти */
                   unsigned long bufferram; /* память, используемая под буферы */
                   unsigned long totalswap; /* общий объём своппинга */
                   unsigned long freeswap;  /* доступно памяти на своппинге */
                   unsigned short procs;    /* количество текущих процессов */
                   char _f[22];             /* остаток структуры в 64 байта */
              };

       Все объёмы даются в байтах. Начиная с Linux 2.3.23 (i386), 2.3.48 (все архитектуры) эта же
       структура выглядит так

              struct sysinfo {
                   long uptime;             /* секунд с момента начальной загрузки */
                   unsigned long loads[3];  /* средняя загрузка системы за 1, 5 и 15 минут */
                   unsigned long totalram;  /* общее количество оперативной памяти */
                   unsigned long freeram;   /* объём доступной памяти */
                   unsigned long sharedram; /* объём разделяемой памяти */
                   unsigned long bufferram; /* память, используемая под буферы */
                   unsigned long totalswap; /* общий объём своппинга */
                   unsigned long freeswap;  /* доступно памяти на своппинге */
                   unsigned short procs;    /* количество текущих процессов */
                   unsigned long totalhigh; /* общий объём старшей (high) памяти */
                   unsigned long freehigh;  /* доступный объём старшей (high) памяти */
                   unsigned int mem_unit;   /* Размер модуля памяти в байтах */
                   char _f[20-2*sizeof(long)-sizeof(int)]; /* остаток для libc5 */
              };

       и все объёмы даются с размерностью в mem_unit байт.

       sysinfo предоставляет простой способ получения общесистемной статистики. Этот способ более
       переносим на другие платформы, чем чтение  /dev/kmem.   Пример  использования  смотрите  в
       intro(2).

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

       В  случае  успеха,  возвращается  0.  В  случае  ошибки  возвращается  -1 и значение errno
       устанавливается соответствующим образом.

ОШИБКИ

       EFAULT указатель на struct sysinfo задан неправильно

СООТВЕТСТВИЕ СТАНДАРТАМ

       Данная функция является специфичной для Linux и не  должна  использоваться  в  программах,
       которые задуманы как переносимые на другие платформы.

       Системный  вызов  sysinfo  появился  в  ядрах Linux начиная с версии 0.98.pl6.  Linux libc
       содержит подпрограмму sysinfo(), начиная с версии 5.3.5, а glibc с версии 1.90.

СМОТРИ ТАКЖЕ

       proc(5)

ПЕРЕВОД

       Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2004