linux - 如何从 bash 检查 Linux CPU 使用情况?

标签 linux bash

如果这是一个双重/三重帖子,我深表歉意。我找到了多个答案,并且所有答案都返回略有不同的结果。我非常不确定哪一个是应该遵循的“正确”的,或者其中任何一个实际上没有为我提供正确的值。

我有一台 Linux 机器,无法在其上安装更多应用程序,并且我正在尝试运行一个 bash 脚本,该脚本将定期显示 CPU 总使用情况。下面是我在网上找到的一个,它似乎给了我我想要的东西,但我不是 100% 确信这会提取正确的 CPU 使用信息,因为它从 TOP 提取数据,据我所知,由于它提取 UNIX 机器启动时的平均值,因此不会提取真实值?

提前致谢

echo print `top -n 1 | tr -s " " | cut -d$" " -f10 | tail -n +8 | head -n -1 | paste -sd+ | bc`/ `nproc` | python

最佳答案

直接读取/proc/loadavg效率更高,从而直接从内核收集数据。

IFS=$' \t/' read -r load_1min load_5min load_15min load_inst_cur load_inst_tot _ </proc/loadavg
echo "Average load over the last minute: $load_1min"
echo "Number of runnable processes this instant: $load_inst_cur of $load_inst_tot"

请注意,平均负载并不是严格意义上的 CPU 使用率——它还测量等待 I/O 资源的进程。

关于linux - 如何从 bash 检查 Linux CPU 使用情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56647743/

相关文章:

等待 shell (ubuntu csh) 完成操作/返回代码的 Python 命令

c++ - C++ 多线程 : detach non-class type error

linux - 如何在不运行 Bash 脚本的情况下对其进行语法检查?

linux - 如何使用字符串作为文件名输入来执行 imagemagick - 在 bash 中

bash - 通过 SSH 连接到 guest 计算机后继续执行 shell 脚本吗?

linux - 为什么 MongoDB 在 Debian 上比在 Windows 上慢..?

linux - 如何在 Linux 中将终端命令输出( float )转换为整数?

linux - Logstash 过早创建目录

linux - 如何将字符串附加到 bash 变量以返回另一个变量的值?

bash - 如何在 Groovy 中进行 shell 扩展?