我需要编写一个在 Linux 机器上获取性能统计信息的应用程序。不幸的是,环境非常受内存限制,因此使用标准命令行工具并不是一个真正的选择,因为我需要非常频繁地轮询它们。
理想情况下,我希望能够直接从内核本身获取性能数据,使用相同的缓冲区和数据来尝试尽可能减少我的应用程序的 RAM 需求。将我的应用程序如此紧密地绑定到 Linux 内核并不是一个真正的问题,我们只在生产中使用过 Linux,而且我看不到这种情况真的会发生变化。
我花了最后一两天查看内核源代码,但我不得不承认有些迷茫。谁能指出我获取 CPU 性能信息/I/O 性能信息/网络性能信息和带宽使用信息的正确位置?