进程统计(process accounting)可以记录linux系统内执行的每个命令/进程的执行时间、占用内存等情况,可用于评估用户日常命令操作的profile/常用命令、系统资源占用是否存在瓶颈或使用不足的情况以及是由于哪个进程造成的。
1. 首先确认你的linux内核支持process accounting功能
在内核配置菜单”general setup”里面的”BSD process accounting”,注意不要选择v3 file format
2. 在/etc/rc.local里面增加以下命令,这样在系统启动时自动打开进程统计功能
accton /var/account/pacct
3. 以root用户执行以下命令观察统计结果
sa -u
输出例如:
root 0.00 cpu 378k mem 0 io hostname
root 0.00 cpu 550k mem 0 io bash *
root 0.00 cpu 381k mem 0 io dircolors
root 0.00 cpu 550k mem 0 io bash *
root 0.00 cpu 410k mem 0 io egrep
root 0.00 cpu 550k mem 0 io bash *
root 0.00 cpu 410k mem 0 io grep
root 0.00 cpu 550k mem 0 io bash *
root 0.00 cpu 410k mem 0 io grep
root 0.00 cpu 395k mem 0 io id
root 0.00 cpu 550k mem 0 io bash *
root 0.00 cpu 344k mem 0 io consoletype
root 0.00 cpu 1068k mem 0 io bash *
root 0.00 cpu 344k mem 0 io consoletype
root 0.00 cpu 890k mem 0 io kbd_mode
注意,日志文件/var/account/pacct在运行一段时间后可以会很大!
遗留问题:
* 没有记录命令/进程的启动、停止时间(wall clock)