struct rusage

Структура, характеризующая статистику использования ресурсов процессом

Прототип:

#include <sys/resource.h>
struct rusage {
struct timeval ru_utime; /* user time used */
struct timeval ru_stime; /* system time used */
long ru_maxrss; /* max resident set size */
long ru_ixrss; /* integral shared memory size */
long ru_idrss; /* integral unshared data " */
long ru_isrss; /* integral unshared stack " */
long ru_minflt; /* page reclaims */
long ru_majflt; /* page faults */
long ru_nswap; /* swaps */
long ru_inblock; /* block input operations */
long ru_oublock; /* block output operations */
long ru_msgsnd; /* messages sent */
long ru_msgrcv; /* messages received */
long ru_nsignals; /* signals received */
long ru_nvcsw; /* voluntary context switches */
long ru_nivcsw; /* involuntary " */
}

Описание:

Тип позволяет хранить статистику потребления определенным процессом системных ресурсов. Структура включает следующие поля:

ru_utime
Общее время в секундах и микросекундах, затраченное на выполнение в пользовательском режиме.
ru_stime
Общее время в секундах и микросекундах, затраченное на выполнение в системном режиме.
ru_maxrss
Максимальный общий объем физической памяти, назначенной процессу в данный момент времени, в системных страницах.
ru_ixrss
Не поддерживается.
ru_idrss
«Целочисленное» значение, указывающее количество памяти, используемой процессом во время его выполнения. Это значение представляет собой сумму объемов физической памяти, назначенных процессу на момент текущего такта системных часов. Значение указывается в страницах, умноженных на такт системных часов. Совместное использование не учитывается.
ru_isrss
Не поддерживается.
ru_minflt
Количество обработанных ошибок страниц, которые не потребовали никаких физических операций ввода/вывода.
ru_majflt
Количество обработанных ошибок страниц, которые потребовали физических операций ввода/вывода. Это могут быть операции ядра с переходом на следующую страницу.
ru_nswap
Число, означающее сколько раз процесс выгружался из основной памяти.
ru_inblock
Число, означающее сколько раз файловая система должна была выполнить ввод для обслуживания запроса read().
ru_oublock
Число, означающее сколько раз файловая система должна была выполнить вывод при обслуживании запроса write().
ru_msgsnd
Количество сообщений, отправленных через сокеты.
ru_msgrcv
Количество сообщений, полученных через сокеты.
ru_nsignals
Количество доставленных сигналов.
ru_nvcsw
Число, означающее сколько раз переключение контекста происходило из-за того, что процесс добровольно отказывался от процессора до того, как его временной интервал был завершен (обычно в ожидании доступности ресурса).
ru_nivcsw
Число, означающее сколько раз переключение контекста происходило из-за того, что процесс с более высоким приоритетом стал работоспособным или из-за того, что текущий процесс превысил свой временной интервал.


Note: Ограничения использования данной структуры указаны в разделе "Предостережения" страницы getrusage().

Классификация:

POSIX 1003.1 X/Open Systems Interfaces Extension

Тематические ссылки:

struct timeval, getrusage(), wait3(), wait4()




Предыдущий раздел: Описание API системной библиотеки