Структура, характеризующая статистику использования ресурсов процессом
#include <sys/resource.h>
struct rusage {
struct timeval ru_utime;
struct timeval ru_stime;
long ru_maxrss;
long ru_ixrss;
long ru_idrss;
long ru_isrss;
long ru_minflt;
long ru_majflt;
long ru_nswap;
long ru_inblock;
long ru_oublock;
long ru_msgsnd;
long ru_msgrcv;
long ru_nsignals;
long ru_nvcsw;
long ru_nivcsw;
}
Тип позволяет хранить статистику потребления определенным процессом системных ресурсов. Структура включает следующие поля:
- 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
- Число, означающее сколько раз переключение контекста происходило из-за того, что процесс с более высоким приоритетом стал работоспособным или из-за того, что текущий процесс превысил свой временной интервал.
 | Ограничения использования данной структуры указаны в разделе "Предостережения" страницы getrusage(). |
POSIX 1003.1 X/Open Systems Interfaces Extension
struct timeval, getrusage(), wait3(), wait4()
Предыдущий раздел: Описание API системной библиотеки