Memory Unix CPU/内存监控

Memory Unix CPU/内存监控,memory,cpu,solaris,aix,hp-ux,Memory,Cpu,Solaris,Aix,Hp Ux,我想开发一个程序,可以监视许多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 '{

我想开发一个程序,可以监视许多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也是如此


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

您知道,在HP-UX中,您可以浏览一下。
你可以使用top,但这不是一个更好的决定

您是否检查了
apropos
cmd以找到类似的top服务(这让我非常惊讶,但是Solaris文档没有列出top)。但更重要的是,每个管道可以简化为1个
awk
程序,即top | awk'/Mem/{gsub(/[^0-9]/,”);print$2/$1*100}`您需要重新排列$2、$5等,以便真正获得所需的输出。祝你好运。Solaris:
prstat
。许多系统监控解决方案都有这样的代理,其中一些是开源的,因此您可以查看一下。前扎比克斯,纳吉奥斯。但请注意,这些工具中的绝大多数(包括付费工具)在分区、虚拟系统、云系统等方面无法正常工作。。。他们无法访问“hyper visor”数据,因此他们报告的数字毫无意义。例如,随着时间的推移,权利发生变化时CPU的50%。无法比较。