8.6. Функция getrusage(): статистика процессов
8.6. Функция getrusage(): статистика процессов
Функция getrusage() запрашивает у ядра статистику работы процессов. Если первый аргумент функции равен RUSAGE_SELF, процесс получит информацию о самом себе. Если же первым аргументом является константа RUSAGE_CHILDREN, будет выдана информация обо всех его завершившихся дочерних процессах. Второй аргумент — это указатель на структуру типа rusage, в которую заносятся статистические данные.
Перечислим наиболее интересные поля этой структуры.
? ru_utime. Здесь находится структура типа timeval, в которой указано, сколько пользовательского времени (в секундах) ушло на выполнение процесса. Это время, затраченное центральным процессором на выполнение программного кода, а не системных вызовов.
? ru_stime. Здесь находится структура типа timeval, в которой указано, сколько системного времени (в секундах) ушло на выполнение процесса. Это время, затраченное центральным процессором на выполнение системных вызовов от имени данного процесса.
? ru_maxrss. Это максимальный объем физической памяти, которую процесс занимал в какой-то момент своего выполнения.
В листинге 8.5 приведена функция, которая показывает, сколько пользовательского и системного времени потребил текущий процесс.
Листинг 8.5. (prinf-cpu-times.c) Определение пользовательского и системного времени, затраченного на выполнение текущего процесса
#include <stdio.h>
#include <sys/resource.h>
#include <sys/time.h>
#include <unistd.h>
void print_cpu_time() {
struct rusage usage;
getrusage(RUSAGE_SELF, &usage);
printf("CPU time: %ld.%061d sec user, %ld.%061d sec system ",
usage.ru_utime.tv_sec, usage.ru_utime.tv_usec,
usage.ru_stime.tv_sec, usage.ru_stime.tv_usec);
}
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Статистика и тренды
Статистика и тренды Готов поспорить – спустя несколько месяцев число каналов в вашей личной коллекции достигнет как минимум полусотни. Аппетит, как говорится, приходит во время еды, а удобство работы с RSS настолько превосходит стандартные методы чтения сайтов, что
8.3.4 Учет и статистика
8.3.4 Учет и статистика В момент поступления прерывания по таймеру система может выполняться в режиме ядра или задачи, а также находиться в состоянии простоя (бездействия). Состояние простоя означает, что все процессы приостановлены в ожидании наступления события. Для
10.13.13 Статистика TCP
10.13.13 Статистика TCP Наконец, давайте рассмотрим статистические сообщения команды netstat, чтобы увидеть в работе многие из описанных выше механизмов.tcp:1301644 packets sent Пакетами именуются сегменты.879137 data packets (226966295 bytes)21815 data packets (8100927 bytes) retransmitted
Глава 4 Статистика
Глава 4 Статистика Для полноценной жизни сайта очень важно курировать круг его читателей. Делается это, в частности, при помощи анализа файлов посещений (log-файлов) сервера. Не исключено, что некоторые части сервера никем не читаются, вероятно потому, что какую-то
Статистика
Статистика Далеко не все этой кнопкой пользуются – а зря! Статистика (которая, как известно, знает все), даст вам полную раскладку по посетителям: кто из пользователей и когда заходил на вашу страничку. Понятно, что незарегистрированные в ЖЖ читатели будут помечены как
Статистика в InterBase
Статистика в InterBase Статистика - одно из изобретений человечества, которое позволяет количественно оценить динамику развития каких-либо процессов и принимать важные решения на основе цифр, а не только интуиции. InterBase предоставляет большое количество статистических
Статистика по блокировкам
Статистика по блокировкам InterBase использует механизм блокировок, чтобы организовывать совместную работу многих пользователей с одной базой данных. Изучение статистики по блокировкам позволяет регулировать настройки механизма блокирования. Подробнее об этом написано в
20 Статистика
20 Статистика При выборе этого пункта появится маленькое окошко статистики текущей библиотеки, а именно:Сколько книг содержится в базе данных.Сколько авторов участвовало в написании этих книг.Таблица, какие пользователи сколько книг отметили как прочитанные. (Именно
7.2.7. Статистика процесса
7.2.7. Статистика процесса Файл status содержит всевозможную информацию о процессе, отформатированную в понятном для пользователя виде. Сюда входит идентификатор процесса, идентификатор родительского процесса, реальный и эффективный идентификаторы пользователя и группы,
7.6. Системная статистика
7.6. Системная статистика Два элемента файловой системы /proc содержат полезную статистическую информацию. В файле /proc/loadavg находятся данные о загруженности системы. Первые три показателя — это число активных задач (выполняющихся процессов) за последние 1, 5 и 15 минут.
Статистика транзакций
Статистика транзакций В Firebird есть несколько полезных утилит для получения сведений о том, насколько хорошо ваша база данных управляет зазором между OIT и OAT. Их вы можете также использовать для просмотра значений в заголовочной странице базы данных. gstat Инструмент