实时捕获进程级指标的Linux工具?

实时捕获进程级指标的Linux工具?,linux,process-monitoring,Linux,Process Monitoring,我想实时监控特定进程消耗的指标,如cpu、内存等 我对各种工具进行了评估,但没有一种适合我的需要 pidstat捕获我想要的一切,它为每个进程提供了良好的内存使用率,但它报告了更多的cpu使用率(甚至比机器消耗的cpu总量还要高) sar更像是pidstat,但只是将所有数据转储到文件中 ps更像快照工具,不提供实时统计信息 我正在寻找一种工具,它可以让我实时地使用进程的cpu。这些是linux的一些顶级命令行进程监视工具。 1。Top–Linux进程监控 2。VmStat–虚拟内存统计数据 3

我想实时监控特定进程消耗的指标,如cpu、内存等

我对各种工具进行了评估,但没有一种适合我的需要

  • pidstat
    捕获我想要的一切,它为每个进程提供了良好的内存使用率,但它报告了更多的cpu使用率(甚至比机器消耗的cpu总量还要高)

  • sar
    更像是
    pidstat
    ,但只是将所有数据转储到文件中

  • ps
    更像快照工具,不提供实时统计信息

  • 我正在寻找一种工具,它可以让我实时地使用进程的cpu。

    这些是linux的一些顶级命令行进程监视工具。 1。Top–Linux进程监控
    2。VmStat–虚拟内存统计数据
    3。Lsof–列出打开的文件
    4。Tcpdump–网络数据包分析器
    5。Netstat–网络统计数据
    6。Htop–Linux进程监控
    7。Iotop–监视Linux磁盘I/O
    8。Iostat–输入/输出统计数据
    9。IPTraf–实时IP LAN监控
    10。Psacct或Acct–监控用户活动

    如果您需要GUI界面,我建议
    1。Gnome系统监视器
    2。Gkrelm
    3。纳吉奥斯
    4。监视器

    5。系统负载指示器

    我不知道有哪种工具在某个时间间隔内进行特定的过程监控;但是,写这样的东西并不难;以下是一些事实:

    • /proc//stat
      将提供大量有关流程统计信息
    • /proc//cmdline
      将提供进程命令行
    • /proc//environ
      将提供流程知道的环境变量
    • /proc//io
      用于io统计信息
    • /proc//statm
      用于内存使用
    • /proc//status
      以人类可读的格式提供
      stat
      statm
    • /proc//sched
      将为您提供进程的各种基于CPU和负载的统计信息

    您可以使用
    man-proc
    阅读更多信息;您可以很容易地编写一个守护进程,在一段时间内提取此信息,然后将其集中存储在某个位置,例如使用
    graphite
    或Elastic stack。

    您需要了解的关于每一级别可用工具的所有信息:


    @slezica:这样的问题真的不值得编辑……我对你的问题进行了编辑,使其不那么主观。今后,尽量避免使用诸如“最好的方式是什么”或“推荐我”之类的语言,这往往会被人遗忘。因此,这可能更适合感谢@slezica的编辑和您的反馈,我会记住这一点。