我有一个分布式服务器系统。
有很多服务器,通过 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
关于javascript - 如何使用 node.js 获取系统统计信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10332565/