The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

sysinfo (2)
  • sysinfo (2) ( Solaris man: Системные вызовы )
  • >> sysinfo (2) ( Русские man: Системные вызовы )
  • sysinfo (2) ( Linux man: Системные вызовы )
  •  

    НАЗВАНИЕ

    sysinfo - возвращает общесистемную статистику  

    СИНТАКСИС

    #include <sys/sysinfo.h>

    int sysinfo(struct sysinfo *info);  

    ОПИСАНИЕ

    В ядрах Linux версий, более ранних, чем 2.3.16, sysinfo возвращала следующую структуру:
    struct sysinfo {
            long uptime;             /* Количество секунд, прошедшее с загрузки системы */
            unsigned long loads[3];  /* средняя одно-, пяти-, и пятнадцатиминутная загруженность системы */
            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-х байтов */
    };
    
    причем все размеры задавались в байтах. Начиная с ядра версии 2.3.23 (i386), 2.3.48 (остальных архитектур), структура стала следующей:
    struct sysinfo {
            long uptime;             /* Количество секунд, прошедшее с загрузки системы */
            unsigned long loads[3];  /* средняя одно-, пяти-, и пятнадцатиминутная загруженность системы */
            unsigned long totalram;  /* Общий объем доступной оперативной памяти */
            unsigned long freeram;   /* Объем свободной памяти */
            unsigned long sharedram; /* Объем разделяемой памяти */
            unsigned long bufferram; /* Объем памяти, использованной под буферы */
            unsigned long totalswap; /* Общий объем области подкачки */
            unsigned long freeswap;  /* Объем свободного пространства в области подкачки */
            unsigned short procs;    /* Текущее количество процессов */
            unsigned long totalhigh; /* Общий объем верхней памяти */
            unsigned long freehigh;  /* Объем свободной верхней памяти */
            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. Подпрограмма sysinfo() появилась в libc версии 5.3.5 и в glibc версии 1.90.  

    СМ. ТАКЖЕ

    proc(5)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
    НАЙДЕННЫЕ ОШИБКИ
    СООТВЕТСТВИЕ СТАНДАРТАМ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру