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;
};
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Администраторы ресурсов
Администраторы ресурсов В этой главе вы изучите все, что относится к администраторам ресурсов в 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, «Шатер», «Шатр», «Шутер», «Шуттер» – фотобанк