Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #69, АВГУСТ 2006 г.

кардиограф для чертенка

ЕВГЕНИЙ ЗОБНИН АКА J1M

Спецвыпуск: Хакер, номер #069, стр. 069-046-1


(J1M@LIST.RU)

МОНИТОРИНГ ПРОИЗВОДИТЕЛЬНОСТИ И РАБОТОСПОСОБНОСТИ BSD

ЧТО ДЕЛАТЬ, ЕСЛИ В ОДИН ЗЛОСЧАСТНЫЙ МОМЕНТ СИСТЕМА ПОЧТИ ОСТАНАВЛИВАЕТСЯ, ДИСК НАЧИНАЕТ БЕШЕНО ТРЕЩАТЬ, И РАБОТА ДАЖЕ В КОНСОЛИ СТАНОВИТСЯ НЕВЫНОСИМОЙ? КАК ВЫЯВИТЬ ПРОБЛЕМЫ И ВДОХНУТЬ В ОС ЖИЗНЬ? КАКИЕ МЕРЫ НЕОБХОДИМО ПРЕДПРИНЯТЬ, ЧТОБЫ ПОДОБНОЕ НЕ ПРОИЗОШЛО В БУДУЩЕМ? ОТВЕТЫ НА ЭТИ ВОПРОСЫ ТЫ НАЙДЕШЬ НИЖЕ

В поставку BSD-систем входит несколько программ, позволяющих провести анализ работоспособности отдельных компонентов ядра и всей системы в целом. Большинство из них являются представителями семейства утилит *stat (vmstat, iostat, pstat, fstat, netstat, systat) и предназначены для сбора статистики, другие служат несколько иным целям, но так же занимают почетное место в инструментальном наборе системного администратора. И те и другие являются незаменимыми помощниками системного администратора (и часто - пользователя домашнего ПК).

[выявляем обжор.]

Традиционно, в UNIX-системах для выявления средней загруженности системы используют команду /usr/bin/uptime:

$ uptime

14:05:06 up 41 min, 4 users, load average: 0.03, 0.08, 0.03

В выводе этой команды присутствует информация о текущем времени, времени, пройденном с момента загрузки системы, числе зарегистрированных пользователей и средней загруженности системы. Причем уровень нагрузки представлен не в процентах, а в усредненном количестве процессов, ждущих своего исполнения за последние 5, 10 и 15 минут. В слабо загруженной системе эти значения не поднимаются выше единицы. Внимательно следя за этими значениями, можно выявить момент, когда нагрузка на систему станет чрезмерной и предпринять соответствующие меры. Значения нагрузки 5.0-6.0 говорят о том, что система загружена на 100%, и пора искать виновников проблемы.

Для выявления подозрительного процесса можно использовать команду /bin/ps с флагами '-aux'. В колонке %CPU для каждого процесса будет указано время использования процессора в процентах. Таким способом достаточно легко выявить проблемный процесс. Недостаток данного подхода - в том, что с его помощью можно увидеть только моментальный снимок состояния процессов. А для получения полной картины происходящего в реальном времени лучше использовать программу /usr/bin/top. Top, наверное, чаще всех остальных программ используется для выявления проблем с нагрузкой на процессор и память. Она выводит на экран список самых «прожорливых» процессов и регулярного его обновляет. Используя top, легко определить, какие из процессов наиболее требовательны к ресурсам.

Окно top разделено на две зоны: в верхней отображается различная системная статистика, в нижней - таблица «особо требовательных» процессов. Рассмотрим эти зоны подробнее. В первой строке отображается различная информация: последний PID, назначенный процессу, загруженность системы, время, прошедшее с момента загрузки и системное время. Вторая строка содержит информацию о процессах: общее количество и количество процессов, находящихся в каждом из пяти состояний: спячка (sleeping), исполнение (running), готов к запуску (starting), зомби (zombies), приостановлен (stopped). Третья строка сообщает нам о времени (в процентах), затрачиваемом процессором на выполнение кода программ (user), выполнение кода программ с повышенным приоритетом (nice), обработку системных вызовов (system), обработку прерываний (interrupt) и время простоя (idle). Четвертая строка предназначена для отображения информации о памяти: объем используемых станиц памяти (Active), объем неиспользуемых страниц памяти (то есть тех страниц, которые могут быть выгружены на диск, Inact), объем выгруженных страниц (не обязательно в своп, - нужная страница может находиться в исполняемом файле, Wired), объем страниц, используемых для хранения дискового кэша (Cache), объем страниц, содержащих буферы (Buf) и объем свободных страниц. Пятая строка сообщает об объеме своп-области и степени его заполненности.

Содержание  Вперед на стр. 069-046-2