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

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

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

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

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

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

ftp://iguana.hut.fi/pub/linux/Kernel/process_accounting

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

Ядро

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

http://sunsite.unc.edu/pub/Linux/kernel/v2.0

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

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

http://sunsite.unc.edu/pub/Linux/system/admin/quota-acct-modified.tgz

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

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

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

http://sunsite.unc.edu/pub/Linux/system/admin/quota-acct-modified.tgz

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.