建议阅读: 20个命令行工具来监视Linux性能
Cpustat以两种可能的方式输出数据:纯文本列表的摘要间隔和每个样本的彩色滚动仪表板。如何在Linux中安装Cpustat
您必须在您的Linux系统上安装 Go(GoLang)才能使用 cpustat ,点击下面的链接可以遵循GoLang安装步骤,如果您没有安装它: 安装 Go后 ,输入下面的 go get命令进行安装,此命令将在您的 GOBIN变量中安装 cpustat二进制文件:# go get github.com/uber-common/cpustat
如何在Linux中使用Cpustat
安装过程完成后,使用sudo命令,使用root权限运行 cpustat ,如果您将系统控制为非root用户,否则将显示错误信息:$ $GOBIN/cpustat This program uses the netlink taskstats interface, so it must be run as root.注意 :要运行 cpustat以及您像系统中任何其他命令一样在系统上安装的所有其他Go程序,请在 PATH环境变量中包含GOBIN变量。打开下面的链接,了解如何在Linux中设置PATH变量。 这是 cpustat的工作原理 查询
/proc
目录以获取每个间隔的当前
进程ID列表 ,并且:
- 对于每个PID,读取/ proc / pid / stat ,然后计算与之前样本的差异。
- 如果它是一个新的PID,请阅读/ proc / pid / cmdline 。
- 对于每个PID,发送一个netlink消息来获取taskstats,计算与之前样本的差异。
- fetch / proc / stat来获取整体系统的统计信息。
$ sudo $GOBIN/cpustat
Cpustat - 监控Linux CPU使用情况
- usr - min / avg / max用户模式运行时间占CPU的百分比。
- sys -min / avg / max系统模式运行时间占CPU的百分比。
- nice -min / avg / max用户模式低优先级运行时间占CPU的百分比。
- 空闲 - 最小/平均/最大用户模式运行时间占CPU的百分比。
- iowait - 等待磁盘IO的最小/平均/最大延迟时间。
- prun -min / avg / max可运行状态的进程数(与负载平均值相同)。
- pblock - min / avg / max磁盘IO上阻塞的进程数。
- pstart - 此汇总间隔中启动的进程/线程数。
- 名称 - / proc / pid / stat或/ proc / pid / cmdline中的公用进程名称。
- pid -process id,也称为“tgid”。
- min - pid的用户最低采样次数+系统时间,由/ proc / pid / stat测量。缩放比例是CPU的百分比。
- 最大 - 此pid的用户+系统时间的最高采样次数,也由/ proc / pid / stat测量。
- usr - 摘要期间pid的平均用户时间,由/ proc / pid / stat衡量。
- 系统 - pid在总结期间的平均系统时间,由/ proc / pid / stat测量。
- nice - 表示进程的当前“nice”值,从/ proc / pid / stat测量。更高意味着“更好”。
- runq - 时间过程和所有的线程花费可运行,但等待运行,从taskstats通过netlink测量。缩放比例是CPU的百分比。
- 当然 ,这个进程和所有的线程都被磁盘IO阻塞,通过netlink从taskstats测量。缩放比例是CPU的百分比,在总结间隔内平均。
- 交换 - 通过netlink从taskstats测量的进程和所有线程花费在等待被交换的时间。缩放比例是CPU的百分比,在总结间隔内平均。
- vcx和icx - 通过进程及其所有线程在总结间隔中的自愿上下文切换的总数,通过netlink从taskstats测量。
- rss - 从/ proc / pid / stat提取的当前RSS值。这个进程正在使用的内存量。
- ctime - 由/ proc / pid / stat衡量的等待在此汇总间隔期间退出的孩子所消耗的用户+ sys CPU时间。
- thrd - 汇总间隔结束时的线程数,由/ proc / pid / stat测量。
- sam - 此过程的样本数,包含在摘要间隔中。最近启动或退出的进程可能比摘要间隔更少的样本可见。
$ sudo $GOBIN/cpustat -u root
查找根用户运行进程
-t
标志,如下所示:
$ sudo $GOBIN/cpustat -u roo -t
根用户的运行过程使用
-n
标志,以下命令显示系统
上运行的
前20个Linux进程 :
$ sudo $GOBIN/cpustat -n 20您还可以使用
-cpuprofile
选项将CPU配置文件写入文件,如下所示,然后使用
cat命令查看文件:
$ sudo $GOBIN/cpustat -cpuprofile cpuprof.txt $ cat cpuprof.txt要显示帮助信息,请使用
-h
标志,如下所示:
$ sudo $GOBIN/cpustat -h从cpustat Github Repository中查找更多信息: https : //github.com/proc/products/cpustat 就这样!在本文中,我们向您展示了如何安装和使用cpustat,这是Linux的一个有用的系统性能测量工具。通过下面的评论部分与我们分享您的想法。