Использование системы учета процессов в 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.