【问题标题】:Monitor system (kernel) load on linux监控 Linux 上的系统(内核)负载
【发布时间】:2014-08-12 08:08:25
【问题描述】:

我正在开发一个由内核分布式网络文件系统组成的项目。

我达到了我正在测试我的实现的地步。为此,我想监控它的 CPU 负载,我指的是我的模块的内核负载。

正如我从类似帖子中了解到的,没有办法监控内核模块的负载,因此我想知道哪种方法是最好的方法?

测试我的应用程序的一个示例是并行运行dd 命令。 目前我正在使用pidstat -c "dd" -p ALL 来监控命令dd 的系统负载。同时我正在查看top 工具(top -d 0.2 以查看更多“准确”值)。

鉴于所有这些,我对自己的监控方式是否非常准确感到不自信。

非常感谢任何建议。 谢谢你。

【问题讨论】:

    标签: linux bash kernel-module monitor


    【解决方案1】:

    您可以使用collectd 之类的东西来监控各种指标,可能会使用Graphite 显示它,以便使用一些处理工具进行简单概述(例如一段时间内的平均值)。

    也就是说,您可以测量 吞吐量,而不是监控 CPU 负载。通过尽可能多地加载系统,您应该能够轻松查明哪个资源是瓶颈:磁盘 I/O、网络 I/O、CPU、内存或其他资源。对于分布式网络文件系统,您需要确保瓶颈非常明显是磁盘或网络 I/O。

    【讨论】:

    • 感谢 l0b0 的详细解答。问题是我正在开发一个存储在主内存中的 FS,因此磁盘 IO 不是我的重点。此外,网络不是主要关注点(有很多工具可以做到这一点,只需用谷歌搜索)。我一直在寻找的是跟踪我的内核模块的 CPU 负载,或者与我解释的相比,这是一种聪明的方法。任何想法? :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    相关资源
    最近更新 更多