如何监控应用程序而不是单个进程的 CPU 使用率?

如何监控应用程序而不是单个进程的 CPU 使用率?

我想跟踪应用程序(例如 Brave 或 Chrome)的 CPU 和内存使用情况,如果您使用 htop 或系统监视器等工具检查,会显示大量单独的进程(如下所示)。

![显示 CPU 和内存列的多个勇敢进程

我怎样才能跟踪整个应用程序而不是这些单个进程的分组/总 CPU 和内存使用情况?

答案1

帖子 计算某个程序所有进程的内存使用量总和 对于除了内存之外还处理 CPU 的实用程序有建议:

  • 使用在顶上. 输入P以查看每个程序统计数据:

                                                                         PAUSED
    NPROCS  SYSCPU  USRCPU   VSIZE  RSIZE   RDDSK  WRDSK  SNET  MEM CMD         1/4
        17   1.14s   8.06s   14.3G   2.7G       ?      ?     ?  35% chrome
         1   0.30s   0.30s    2.6G   1.9G       ?      ?     ?  25% Xorg
         1   0.09s   1.15s    1.8G 329.7M       ?      ?     ?   4% gnome-shell
         1   0.00s   0.07s  994.8M 257.2M       ?      ?     ?   3% thunderbird
         1   0.00s   0.00s    1.3G 162.4M       ?      ?     ?   2% soffice.bin
         2   0.00s   0.00s    1.2G 86736K       ?      ?     ?   1% gvim
         1   0.00s   0.01s    1.0G 64724K       ?      ?     ?   1% owncloud
         1   0.00s   0.00s  970.3M 59908K       ?      ?     ?   1% evolution-cale
         1   0.00s   0.00s  675.7M 48404K       ?      ?     ?   1% tracker-extrac
         1   0.03s   0.03s  581.0M 47080K       ?      ?     ?   1% xchat
         2   0.00s   0.00s   84.2G 45292K       ?      ?     ?   1% nacl_helper
    
  • 使用ps以下命令awk

    ps -eo size,command --sort -pcpu | grep chromium | awk '{ hr=$1/1024 ; sum +=hr} END {print sum}'
    

    为了重复使用,创建一个可执行文件,此处命名cpusum为包含:

    ps -eo size,command --sort -pcpu | grep $1 | awk '{ hr=$1/1024 ; sum +=hr; echo $1} END {print sum}'
    #                                       ^this $1 will come from runtime argument
    

    使其可执行:

    chmod +x cpusum
    

    使用方法:

    ./cpusum chromium
    
  • 使用qps——可视化流程管理器

    在此处输入图片描述

答案2

您可以执行此命令:

  ps -p <pid> -o %cpu,%mem,cmd

或者这个命令的另一个例子是恢复 cpu、mem 和 bash 使用类型。

在此处输入图片描述

看看这个链接https://www.cyberciti.biz/tips/top-linux-monitoring-tools.html

例如,在下图中,我正在使用一生中最重要的命令。

在 %Cpu 部分,您可以看到其中显示“num”us。这表示 CPU 的大致工作量。

在此处输入图片描述

相关内容