在Linux计算机上绘制每用户CPU使用情况的图表

在Linux计算机上绘制每用户CPU使用情况的图表,第1张

概述我希望图形化(图形输出很棒,即.png文件)以下情况:我有用户A,B和C.我限制他们的资源,以便当所有用户同时运行CPU密集型任务时,这些进程将使用25%,25%和50%的CPU.我知道我可以使用top来获取实时统计数据,但不知道如何处理它们.我已经搜索了巨大的顶级手册页,但没有找到关于输出可以绘制的数据的主题.理想情况下,图表显示的跨度可能为30秒.任何想法如何实现这一目标? I know I 我希望图形化(图形输出很棒,即.png文件)以下情况:我有用户A,B和C.我限制他们的资源,以便当所有用户同时运行cpu密集型任务时,这些进程将使用25%,25%和50%的cpu.我知道我可以使用top来获取实时统计数据,但不知道如何处理它们.我已经搜索了巨大的顶级手册页,但没有找到关于输出可以绘制的数据的主题.理想情况下,图表显示的跨度可能为30秒.任何想法如何实现这一目标?解决方法

I kNow I can get the real-time stats using top but have no IDea what
to do with them

批处理模式可能很有用:

-b : Batch mode operation        Starts  top  in ’Batch mode’,which Could be useful for sending output from top to other programs or        to a file.  In this mode,top will not accept input and runs until the iterations limit  you’ve  set        with the ’-n’ command-line option or until killed.

例如:

$top -b -n 1 -u <user> | awk 'NR > 7 { sum +=  } END { print sum }'

Ganglia Gmetric可用于为此绘制图形.

cpu_per_user_gmetric.sh

#!/bin/bashUSERS="a b c"for user in $USERS; do    /usr/bin/gmetric --name cpu_per_"$user"_user --value `top -b -n 1 -u $user | awk 'NR>7 { sum += ; } END { print sum; }'` --type uint8 --unit Percentdone

crontab -l

* * * * * /path/to/cpu_per_user_gmetric.sh

这是结果:

总结

以上是内存溢出为你收集整理的在Linux计算机上绘制每用户CPU使用情况的图表全部内容,希望文章能够帮你解决在Linux计算机上绘制每用户CPU使用情况的图表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/1041392.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存