我有一个分布式服务器系统.
有很多服务器,通过PubSub协调.
所有这些都连接到统计服务器.
每分钟服务器将其统计信息发送到统计服务器(处理了多少请求,平均时间等).
所以…在这个统计消息中包含系统状态会很好.
我需要cpu负载(每个核心)和可用内存量.
我做了一个小的解决方法,并决定用“exec”调用linux命令,解析答案并形成一个JSON数据用于发送.
但是如何从命令行获取此数据?
在Mac OS X上,我可以通过geektool脚本轻松获得所需的全部内容,但在linux(debian)上,它们无法正常工作.
例如:
top -l 1 | awk '/PhysMem/ {print "Used: " $8 " Free: " $10}'
在Mac OS X Lion上我得到:
Used: 3246M Free: 848M
而debian中只是一个错误……
最佳答案
在Linux上,您可以使用/ proc.有关一组命令行示例,请参阅here以读取统计信息.
不过,最好直接从Node读取文件,使用fs.readFile()
更新:
还有OS API可能更好.
用法示例:Convert the output of os.cpus() in Node.js to percentage