进程统计(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)


3条评论

  1. 用lastcomm可以显示运行命令的时间

  2. accton filename turns on process accounting. If called with no arguments, it will, by default, stop process accounting.

发表评论

评论也有版权!

click to change验证码