10.3.2 Использование ресурсов

10.3.2 Использование ресурсов

Ядро Linux отслеживает, сколько ресурсов использует каждый процесс. Хотя отслеживается только небольшое их число, их измерения могут быть полезными разработчикам, администраторам и пользователям. В табл. 10.1 перечислены ресурсы, использование которых отслеживается ядром Linux версии 2.6.7.

Таблица 10.1. Ресурсы процессов, отслеживаемые Linux

Тип Член Описание
struct timeval ru_utime Общее время, затраченное на выполнение кода в режиме пользователя. Это включает в себя все время, потраченное на выполнение инструкций приложения, но исключая время, потраченное ядром на обслуживание запросов приложения.
struct timeval ru_stime Общее время, потраченное ядром на выполнение запросов процесса. Это не включает времени блокировки процесса в период ожидания выполнения системных вызовов.
long ru_minflt Количество второстепенных сбоев (minor faults), вызванных данным процессом. Второстепенные сбои — это попытки доступа к памяти, переключающие процессор в режим ядра, но не вызывающих обращений к диску. Это случается, когда процесс пытается писать за пределами стека, что вынуждает ядро распределить больше пространства стека, прежде чем продолжить выполнение процесса.
long ru_majflt Количество первостепенных сбоев (major faults), вызванных данным процессом. Первостепенные сбои — это обращения к памяти, заставляющие ядро обратиться к диску, прежде чем программа сможет продолжить работу. Одной из частых причин этого может быть обращение к части исполняемой памяти, которая еще не была загружена в ОЗУ с диска либо была временно выгружена на диск.
long ru_nswap Количество страниц памяти, для которых был выполнен обмен с диском при обращении к памяти из процесса.

Процесс может проверять использование ресурсов им самим, общее использование ресурсов его дочерними процессами либо сумму того и другого.

Системный вызов getrusage() возвращает структуру struct rusage (определенную в <sys/resource.h>), содержащую информацию о текущем использовании ресурсов.

int getrusage(int who, struct rusage * usage);

Первый параметр, who, сообщает, какой из трех счетчиков ресурсов должен быть возвращен. RUSAGE_SELF возвращает использование ресурсов текущим процессом, RUSAGE_CHILDREN — его дочерними процессами, a RUSAGE_BOTH — общее использование ресурсов текущим процессом и всеми его дочерними процессами. Второй параметр getrusage() — это указатель на struct rusage, куда помещается информация об использовании ресурсов. Хотя struct rusage и содержит относительно немного членов (список унаследован из BSD), большинство этих членов пока не используются Linux). Ниже представлено полное определение этой структуры. В табл. 10.1 описаны члены, используемые в настоящее время Linux.

#include <sys/resource.h>

struct rusage {

 struct timeval ru_utime;

 struct timeval ru_stime;

 long intru_maxrss;

 long intru_ixrss;

 long intru_idrss;

 long intru_isrss;

 long intru_minflt;

 long intru_majfit;

 long intru_nswap;

 long intru_inblock;

 long intru_oublock;

 long intru_msgsnd;

 long intru_msgrcv;

 long intru_nsignals;

 long intru_nvcsw;

 long intru_nivcsw;

};

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Администраторы ресурсов

Из книги автора

Администраторы ресурсов В этой главе вы изучите все, что относится к администраторам ресурсов в QNX/Neutrino (также известным как «драйверы устройств» и «администраторы ввода-вывода»). Перед написанием своего собственного администратора ресурса вам необходимо будет


Написание администратора ресурсов

Из книги автора

Написание администратора ресурсов Теперь, когда мы знаем основы, — как выглядит мир глазами клиента, в каком цвете видит все администратор ресурсов, и что из себя представляют оба уровня библиотеки — пришло время сконцентрироваться на деталях.В этом разделе мы


Структура администратора ресурсов

Из книги автора

Структура администратора ресурсов Теперь, когда мы имеем представление о структурах данных, мы можем обсудить взаимодействие между компонентами, которые вам предстоит написать, чтобы ваш администратор ресурсов мог что-нибудь реально сделать.Мы рассмотрим:• Функцию


Менеджеры ресурсов

Из книги автора

Менеджеры ресурсов QNX вводит технику программирования, которая единообразно проходит сквозь всю систему.[41] Идея техники менеджеров ресурсов столь же проста, сколь и остроумна:• Вся система построена на тщательно проработанной в теории (и редко используемой при


7.5.5. Потребление ресурсов

Из книги автора

7.5.5. Потребление ресурсов Хотя Electric Fence является мощным, легким в употреблении и быстрым инструментом (поскольку все проверки доступа осуществляются аппаратными средствами), за все это приходится платить свою цену. Большинство процессоров позволяют системе управлять


Записи ресурсов

Из книги автора

Записи ресурсов Записи в DNS называются записями ресурсов (resource records, RR). Нас интересуют только несколько типов RR.? А. Запись типа А преобразует имя узла в 32-разрядный адрес IPv4. Вот, например, четыре записи DNS для узла freebsd в домене unpbook.com, первая из которых — это запись типа


Поиск FTP-ресурсов

Из книги автора

Поиск FTP-ресурсов Протокол FTP (File Transfer Protocol) предназначен для передачи файлов между компьютерами. По компьютерным меркам эта технология имеет весьма почтенный возраст. Сильные стороны этого протокола – простота и надежность. С точки зрения пользователя, FTP-сервер – это


Сравнение авторитетности ресурсов

Из книги автора

Сравнение авторитетности ресурсов Для оценки авторитетности достаточно сравнить ряд косвенных признаков продвижения:? тематический индекс цитирования (ТИЦ);? PageRank;? количество проиндексированных страниц в «Яндексе» и Google;? число входящих ссылок на основе Solomono.ru или


Глава 21. Три десятка ресурсов VBA.

Из книги автора

Глава 21. Три десятка ресурсов VBA. В этой главе ...~ Дополнительная информация о VBA, представленная разработчиками программного обеспечения~ Периодические издания, посвященные VBA~ Поиск Web-ресурсов, относящихся к VBA~ Как получить новые элементы управления ActiveX и программные


Формат ресурсов .NET

Из книги автора

Формат ресурсов .NET До этого момента все наши приложения, использующие внешние ресурсы (например, файлы изображений), требовали, чтобы загружаемые файлы находились в каталоге приложения. Поэтому для загрузки этих файлов мы использовали их непосредственные имена.//


13.7. Получение ресурсов из библиотеки ресурсов

Из книги автора

13.7. Получение ресурсов из библиотеки ресурсов Постановка задачи Требуется получить фотографии или видео непосредственно из библиотеки фотографий, не прибегая к использованию каких-либо встроенных компонентов графического пользовательского


Использование ресурсов

Из книги автора

Использование ресурсов В Классическом сервере каждый экземпляр fb_inet_server выделяет в своей области памяти статический кэш для страниц базы данных. Поэтому использование ресурсов линейно возрастает с каждым дополнительным клиентским соединением. Однако, когда количество


Web-сайты ресурсов

Из книги автора

Web-сайты ресурсов http://www.ibase.ru содержит огромное количество информации по InterBase и Firebird на русском языке: статьи, FAQ, файлы, форум, списки рассылки новостей и др.http://www.ibphoenix.com является центром информации и новостей для пользователей, разрабатывающих приложения для Firebird или


Использование встроенных ресурсов

Из книги автора

Использование встроенных ресурсов При работе программы необходимо получить доступ к графическому файлу из ресурсов и вывести изображение на экран. Для этого сначала необходимо получить ссылку на сборку. Соответствующий код приведен в листинге 11.1.Листинг 11.1// Получим


Названия микростоковых ресурсов

Из книги автора

Названия микростоковых ресурсов FT, «Лия» – фотобанк Fotolia.DT, «Дримс» – фотобанк Dreamstime.IS, Istock, «Айс», «Айсток» – фотобанк iStockphoto.SS, Shutter, «Шатер», «Шатр», «Шутер», «Шуттер» – фотобанк