ИМЯ
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.
СМОТРИ ТАКЖЕ
ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone [AT] perm.ru> 2004