Это 27-й день моего участия в Gengwen Challenge, проверяйте подробности мероприятия: больше текстового задания
Вечный ученик, практик и активный собеседник, приверженный пути развития технологий, оригинальный блогер, занятый и иногда ленивый, и подросток, которому иногда скучно, а иногда и смешно.
Добро пожаловать в поиск WeChat »ИТ-путешествие Джейка"обрати внимание на!
Оригинальная ссылка:Волшебным образом оказывается, что под линуксовым терминалом есть функция учета процессов...
При управлении системой иногда необходимо записывать потребление ресурсов пользователем в качестве основы для начисления платы за учетные записи пользователей. Эти журналы также можно использовать в целях безопасности, предоставляя ценную информацию об активности системы.
Системы Linux предоставляют пакет под названием psacct, который может реализовывать функции учета.
1. Обнаружение пакетов psacct
Во-первых, нам нужно убедиться, что в текущей системе установлен пакет psacct, что можно проверить с помощью следующей команды;
# rpm -qa | grep psacct
psacct-6.3.2-63.el6_3.3.x86_64
2. Откройте и закройте службу psacct.
Чтобы включить эту функцию учета, выполните /etc/rc.d/init.d/psacct start или
команда запуска службы psacct;
# /etc/rc.d/init.d/psacct start
开启进程记帐: [确定]
# service psacct start
开启进程记帐: [确定]
Чтобы остановить функцию учета, выполните команду /etc/rc.d/init.d/psacct stop или
команда остановки службы psacct;
# service psacct stop
关闭进程记帐: [确定]
# /etc/rc.d/init.d/psacct stop
关闭进程记帐: [确定]
3. Связанные файлы конфигурации
Когда учет включен, учетная информация о пользователях и процессах будет записываться в файл журнала /var/account/pacct.
# vi /var/account/pacct
Пакет psacct устанавливается с файлом конфигурации дампа в каталоге /etc/logrotate.d, имя файла также psacct. Если у вас есть журнал учета, можно использовать команды, предоставляемые пакетом psacct. Когда команда, выполненная пользователем, будет записана psacct, журнал будет сохранен в файле /var/account/pacct.
# cd /etc/logrotate.d
# ls
cups dracut httpd ppp psacct sssd syslog wpa_supplicant yum
# cat psacct
# Logrotate file for psacct RPM
/var/account/pacct {
#prerotate loses accounting records, let's no
# prerotate
# /usr/sbin/accton
# endscript
compress
delaycompress
notifempty
daily
rotate 31
create 0600 root root
postrotate
/usr/sbin/accton /var/account/pacct
endscript
}
В-четвертых, последняя комм
Используйте команду lastcomm для вывода более подробной информации в журнал, в котором будут отображаться все процессы и команды, запущенные пользователем.
# lastcomm | more
pickup S postfix __ 0.00 secs Wed May 29 00:44
crond SF root __ 0.00 secs Wed May 29 02:20
sadc S root __ 0.00 secs Wed May 29 02:20
unix_chkpwd S root __ 0.00 secs Wed May 29 02:20
grep root pts/1 0.02 secs Wed May 29 02:16
rpm root pts/1 2.70 secs Wed May 29 02:16
- Столбец 1: имя команды для запуска процесса.
- Второй столбец: Флаги.
- Третий столбец: имя пользователя выполняющегося процесса.
- Четвертая колонка: Терминал, на котором была выполнена команда.
- Пятая колонка: время, затраченное на выполнение процесса.
- Столбец 6: Дата и время выполнения процесса.
Пять, параметры общих команд lastcomm
- --user : список записей для указанного имени пользователя;
- --command : перечислить те же записи, что и указанная команда;
- --tty : перечислить процессы, выполняющиеся на указанном терминале;
- -f : прочитать данные из указанного файла;
- --strict-match: строгое соответствие;
6. сб
Команда sa находится в каталоге /usr/bin и может подсчитывать использование ЦП ранее выполненными командами и предоставлять информацию о потреблении системных ресурсов. В то же время для этого запроса удобнее выяснить, на какую конкретную информацию о ЦП приходится высокая доля связанного отображения.
# cd /usr/bin
# ll | grep sa
-rwxr-xr-x. 1 root root 27008 11月 23 2013 abrt-action-save-package-data
-rwxr-xr-x. 1 root root 27247 9月 12 2012 alsa-info
lrwxrwxrwx. 1 root root 9 6月 4 2016 alsa-info.sh -> alsa-info
-rwxr-xr-x. 1 root root 1558624 2月 22 2013 alsaloop
-rwxr-xr-x. 1 root root 76888 2月 22 2013 alsamixer
Выполните команду sa | more, чтобы вывести информацию о процессорном времени запущенного процесса.
# sa | more
544 2430102.76re 1.50cp 18238k
13 21.50re 1.38cp 23924k ***other*
4 0.43re 0.06cp 88788k yumBackend.py
2 19191.34re 0.03cp 17840k sshd
9 4699.73re 0.01cp 19047k packagekitd
4 15410.99re 0.00cp 27092k bash
- Значение первого столбца: 544 Это значение означает, сколько раз выполняется процесс;
- Значение во втором столбце: 2430102.76re Это значение означает «реальное» время процессора;
- Значение в третьем столбце: 1.50cp Это значение означает сумму системного и пользовательского процессорного времени;
- Значение в четвертом столбце: 18238k Это значение означает среднее время процессора, занимаемое ядром, в единицах времени 1K CPU unit;
- Результат пятого столбца: yumBackend.py Результатом этого вывода является имя команды для запуска процесса;
Семь, са общие параметры параметра
- -u: список пользователей, выполняющих процесс;
# sa -u | head -5
root 0.00 cpu 981k mem accton
root 0.04 cpu 28384k mem logrotate
root 0.00 cpu 26528k mem logrotate
root 0.00 cpu 26480k mem awk
root 0.00 cpu 25232k mem basename
- -l: выводить системное время и время пользователя отдельно;
# sa -l | head -5
628 15590.86re 0.00u 0.07s 21476k
12 9985.38re 0.00u 0.05s 24410k ***other*
60 0.13re 0.00u 0.01s 28050k find
11 5597.53re 0.00u 0.00s 18976k packagekitd
78 0.06re 0.00u 0.00s 29344k crond*
- -m: суммировать процессорное время, занимаемое каждым пользователем;
[root@localhost bin]# sa -m
628 15590.86re 0.07cp 21476k
root 610 15585.44re 0.07cp 21730k
postfix 7 5.39re 0.00cp 20336k
dbus 11 0.03re 0.00cp 8148k
- Command man sa manual СИНТАКСИС деталей параметров параметров;
Восемь, переменный ток
Команды AC в директории /usr/bin, файлы логов в /var/log/wtmp
В основном считайте время онлайн пользователей.
# ll | grep ac | head -3
-rwxr-xr-x. 1 root root 13920 11月 23 2013 abrt-action-analyze-backtrace
-rwxr-xr-x. 1 root root 12360 11月 23 2013 abrt-action-analyze-c
-rwxr-xr-x. 1 root root 1313 11月 23 2013 abrt-action-analyze-ccpp-local
Девять, варианты общих параметров переменного тока
- Когда никакие параметры не добавляются, отображается только общее время онлайн всех пользователей;
# ac
total 246.52
- -d: вывести общее время онлайн всех пользователей в день;
# ac -d
Jun 4 total 43.92
Jun 5 total 72.09
May 27 total 19.28
May 28 total 101.02
Today total 10.21
- -p: вывести общее время онлайн каждого пользователя;
# ac -p
root 246.53
total 246.53
- Чтобы просмотреть дополнительные параметры параметров, выполните команду «man ac», чтобы просмотреть подробные сведения о команде ac;
- Следует отметить, что указанные выше цифры времени исчисляются в часах;
Оригинальность непростая.Если вы считаете, что эта статья полезна для вас, ставьте лайк, комментируйте или пересылайте эту статью, потому что это будет моей мотивацией выпускать больше качественных статей, спасибо!
Кстати, друзья-копатели, не забудьте дать мне бесплатный подписчик! На случай, если ты заблудишься и не сможешь найти меня в следующий раз.
Увидимся в следующий раз!