Использование системы учета процессов в Linux

Последнее обновление: 8 августа 1997 года, 09:25:58

Автор: Albert M.C. Tam (bertie@scn.org)
Перевод: Станислав Рогин, ASPLinux

Preamble: This document is copylefted by Albert M.C. Tam (bertie@scn.org). Permission to use, copy, distribute this document for non-commerical purposes is hereby granted, provided that the author's / editor's name and this notice appear in all copies and/or supporting documents; that this document is not modified. This document is distributed in hope that it will be useful, but WITHOUT ANY WARRANTY, either expressed or implied. While every effort has been taken to ensure the accuracy of the information documented herein, the author / editor / maintainer assumes NO RESPONSIBILITY for errors, or for damages results for the use of the information documented herein.
Предисловие: Авторские права принадлежат Albert M.C. Tam (bertie@scn.org). Этот документ разрешается использовать , копировать, распространять в некоммерческих целях, при условии сохранения имени автора/редактора и этой заметки о правах на всех копиях и/или сопутствующих документах. Этот документ публикуется в надежде, что он будет полезен, но автор НЕ ДАЕТ НИКАКИХ ГАРАНТИЙ. Автор /редактор так же НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ за ошибки, допущенные в этом документе, и/или повреждения, произошедшие вследствие употребления информации, изложенной в этом документе.

Авторские права

Авторские права на русский перевод этого текста принадлежат © ASPLinux. Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.

Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: или к координатору русского перевода Linux HOWTO компании ASPLinux по адресу


В этом документе содержится информация о том, как включить в Linux систему учета процессов, а также как применять команды, связанные с этой системой. Этот текст предназначен для пользователей систем с ядром версии 1.3.73 или новее (недавно все это тестировалось в дистрибутиве RedHat 4.1 с ядром версии 2.0.27). Ядра старее версии 1.3.73 могут потребовать патч, для использования возможностей системы учета процессов.

Если вы найдете здесь какую-либо ошибку или обнаружите нехватку информации, обязательно пишите мне. Все отзывы или предложения отправляйте по адресу bertie@scn.org. Я буду этому очень рад.


Что такое система учета процессов?

Система учета процессов - это запись всех команд, выполняемых на Linux, а также подведение суммарных итогов. Последние версии ядер способны сохранять записи о том, какие команды запускались каким пользователем, затраченное время процессора и многое другое.

Система учета процессов позволяет сохранять детальную информацию о использовании системных ресурсов, их распределение среди пользователей, а также осуществлять общий контроль над системой.

Каков уровень системы учета процессов в Linux на сегодняшний момент

Поддержка системы учета процессов была встроена в ядра начиная с версии 1.3.73. Если у вас более старая версия, то вам понадобятся несколько файлов патчей. Их можно найти по адресу:

Требования системы учета процессов в Linux

Ядро

Ядро Linux версии равное или новее 1.3.73, Я лично рекомендую 2.x. Исходные тексты ядра можно найти по адресу

Программное обеспечение системы учета процессов

В зависимости от того, какой дистрибутив Linux у вас установлен (а также от его версии), у вас может быть установлен пакет с этой системой. Если у вас его нет, попытайтесь получить его по адресу


Настройка системы учета процессов на Linux

1. Соберите и установите программное обеспечение системы учета процессов

Пакет этого программного обеспечения можно найти по адресу

2. Измените свой скрипт инициализации для включения учета процессов при загрузке системы

Ниже приведен пример:

        # Включение системы учета процессов. 
        if [ -x /sbin/accton ]
        then
                /sbin/accton /var/log/pacct
                echo "Process accounting turned on." 
                # echo "Система учета процессов включена."
        fi

3. Создайте файл журнала учета процессов "pacct"

Программы учета процессов будут записывать по умолчанию всю информацию в файл /var/log/pacct.

Чтобы создать файл журнала учета процессов, запустите следующую команду:

        touch /var/log/pacct

Владельцем этого файла должен быть root, для него должны быть разрешены чтение и запись, а для остальных только чтение:

        chown root /var/log/pacct
        chmod 0644 /var/log/pacct
(Примечание переводчика: в зависимости от стиля настройки безопасности в вашей системе, разрешение может быть и 0640 или 0600)

4. Перезагрузите систему

Теперь вы можете выполнить перезагрузку системы, чтобы включить систему учета процессов.


Различные команды системы учета процессов

ac

ac выводит статистику о времени подключения пользователей, на основании входов в систему и выходов из нее, беря информацию из файла /var/log/wtmp. ac также может подводить итоговое время по дням (опция -d) и по пользователям (опция -p).

accton

accton применяется для включения и выключения учета процессов. Эта команда обычно запускается в процессе загрузки или отключения системы в системных скриптах.

last

last обрабатывает файл /var/log/wtmp и выводит статистику о времени вхождения пользователей в систему.

sa

sa подводит итоги исполнения команд, работы с портами ввода-вывода, загрузки процессора в соответствии с информацией в файле учета процессов /var/account/pacct.

lastcomm

lastcomm выводит информацию об исполненных командах в соответствии с файлом /var/account/pacct.

Hosted by uCoz