我必须生成以下内容的报告:
1- CPU 使用率。2- 内存使用率。
生成的报告必须类似于以下形式:
我尝试使用多个命令来获取系统读数……例如 htop、atop 和dstat -ta --top-cpu
htop 的结果是:
atop 的结果是:
dstat 的结果是:
我应该使用哪个正确的命令来收集正确的系统读数,以便我可以计算 CPU 使用率、内存使用率、打开文件数和打开端口数的平均值、最小值、最大值、中值和偏差,如第一张和第二张图片所示?
如果有人可以帮助我决定适当的命令......我希望他也能告诉我应该从结果系统读数中获取哪些重要的数字来计算前两张图片中的列?
数据必须存储在由特定表组成的数据库中,而报告可以借助 Java 应用程序生成,该应用程序负责处理数据库并使用检索到的数据进行计算并生成报告...现在我正在尝试创建数据库模型所以我需要知道表中必要的列所以我需要你的帮助来为我启动实际工作,即 Java 应用程序...我只是想知道我应该考虑哪些数据!
答案1
您可以使用
cat /proc/loadavg
这将为您提供 1、5 和 15 分钟内 3 个平均负载数字。
然后是当前正在运行的进程数,然后是最后调用的进程的 pid。
我不知道中位数和偏差值是什么意思。
但希望这对你来说是一个开始。
cat /proc/meminfo
为您提供内存统计数据。
/proc 目录可以为您提供更多满足您需求的信息。只需 cat /proc/xxxx 您感兴趣的文件即可。
cat
只是一个向您的终端显示文件内容的程序。Jo 可以使用您的 javaprogramm 或任何其他程序来读取这些文件并将值发送到您的数据库。
答案2
虽然帖子已经过时了,但我还是想为有需要的人提供帮助。可以使用以下命令“dstat -tcmndylp --top-cpu”来计算 CPU/内存使用情况等。您也可以查看手册页以了解 dstat 列的含义。
找到 avg,然后找到 sd。