一、pidstat对CPU的分析
Linux 上的pidstat(1)工具按进程或线程打印CPU 用量,包括用户态和系统态时间的分解。默认情况下,仅循环输出活动进程的信息。例如:
这个例子捕捉到了系统备份,包含了tar(1)命令,从文件系统读取文件,以及使用gzip(1)命令进行压缩。gzip(1)的用户态时间较高,符合预期,其压缩代码为CPU 密集型。tar(1)命令从文件系统里读取,在内核中消耗更多的时间。
二、pidstat对磁盘的分析
Linux 的pidstat(1)工具默认输出CPU 使用情况,还可以使用选项-d 输出磁盘I/O 统计信息,在内核2.6.20 及以上的版本可用。例如:
输出列如下。
● kB_rd/s:每秒读取KB 数。
● kB_wd/s:每秒发出的写入KB 数。
● kB_ccwr/s:每秒取消的写入KB 数(例如,写回前的覆盖写)。
只有超级用户(root)可以访问不属于自己的进程的磁盘统计信息。这些可以通过读取/proc/PID/io 获得。