Троан Эрик В.
Шрифт:
Переданный функции параметр
BSD определяет функцию
Здесь имя и новое значение переменной окружения передаются раздельно, что обычно программам делать проще. Если
Ниже приведен короткий пример использования обеих функций. Оба вызова делают одно и то же, заменяя переменную окружения
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 | Количество страниц памяти, для которых был выполнен обмен с диском при обращении к памяти из процесса. |
Процесс может проверять использование ресурсов им самим, общее использование ресурсов его дочерними процессами либо сумму того и другого.
Системный вызов
Первый параметр,
10.3.3. Применение ограничений использования ресурсов
Чтобы помочь в предотвращении неконтролируемого снижения производительности процессами, Unix отслеживает многие ресурсы, которые может использовать процесс, и позволяет системному администратору и самим пользователям накладывать ограничения на расход ресурсов процессами.
Предусмотрены два класса доступных ограничений: жесткие и мягкие ограничения. Жесткие обычно установлены при запуске системы в