首页 > 解决方案 > Unix CPU/内存监控

问题描述

我想开发可以监控许多 Unix 客户端的 CPU/内存份额的程序。
用 C 编写的 Unix 客户端程序运行命令 popen 以获取 CPU / 内存信息并使用套接字将其发送到服务器。

例如,在 Solaris 11 上,使用以下命令获取 CPU / 内存信息。

CPU : top -n 1 |grep "CPU"|sed -n 1p|awk '{print $3}'|sed 's/[^0-9.0-9]//g'|awk '{print 100-$1}'
Memory : top -n 1 |grep \"Mem\" |awk '{print $2, $5}'|sed 's/[^0-9]/ /g'|awk '{print $2/$1*100}'

这里有一个问题。
Solaris 9、10 没有 top 命令。
HP-UX 不能使用 grep,因为它不能执行一次命令。
AIX 的 topas 也是如此。

如果您有其他命令或方式,请推荐给我。

标签: memorycpusolarisaixhp-ux

解决方案


您知道在 HP-UX 中您可以使用一目了然。你可以使用 top 但这不是一个更好的决定。


推荐阅读