sysinfo(2)

ИМЯ
sysinfo - возвращает информацию о системе

LIBRARY
Standard C library (libc, -lc)

СИНТАКСИС
#include <sys/sysinfo.h>

int sysinfo(struct sysinfo *info);

ОПИСАНИЕ
Вызов sysinfo() возвращает некоторую статистику использования памяти и области подкачки, а также среднюю загруженность.

До 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) и Linux 2.3.48 (остальные архитектуры), структура следующая:

    struct sysinfo {
        long uptime;             /* Количество секунд, прошедшее с загрузки
                                    системы */
        unsigned long loads[3];  /* средняя 1,  и 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;  /* Объём свободной дальней памяти */
        unsigned int mem_unit;   /* Размер элемента памяти в байтах */
        char _f[20-2*sizeof(long)-sizeof(int)];
                                 /* Дополнение до 64 байт */
    };

В приведённой выше структуре размеры полей памяти и подкачки приводятся умноженными на mem_unit байт.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
On success, sysinfo() returns zero. On error, -1 is returned, and errno is set to indicate the error.

ОШИБКИ

EFAULT
    Аргумент info не содержит допустимого адреса.

СТАНДАРТЫ
Linux.

ИСТОРИЯ
Linux 0.98.pl6.

ЗАМЕЧАНИЯ
Вся информация, предоставляемая этим системным вызовом также доступна через /proc/meminfo и /proc/loadavg.

СМ. ТАКЖЕ
proc(5)

ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Alexander Golubev <fatzer2@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Hotellook, Nikita <zxcvbnm3230@mail.ru>, Spiros Georgaras <sng@hellug.gr>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 (https://www.gnu.org/licenses/gpl-3.0.html) или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.