単一プロセスの合計メモリ使用量

単一プロセスの合計メモリ使用量

特定のプロセスの全体的なメモリ使用量を取得したいと思います。たとえば、合計メモリ量を取得したいとします。httpd。したがって、tailコマンドを実行すると、次の結果tail -Mが表示されます。

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                 
10036 mysql     20   0  417m  76m 3820 S  0.3 15.5   0:13.55 mysqld                                                                                  
10453 apache    20   0  229m  67m  42m S  0.0 13.7   0:10.81 httpd                                                                                   
10447 apache    20   0  230m  64m  38m S  0.0 13.0   0:11.54 httpd                                                                                   
10479 apache    20   0  226m  64m  42m S  0.0 13.0   0:09.75 httpd                                                                                   
10478 apache    20   0  230m  63m  38m S  0.0 12.9   0:11.02 httpd                                                                                   
10451 apache    20   0  230m  63m  37m S  0.0 12.8   0:10.37 httpd                                                                                   
 9599 apache    20   0  227m  61m  38m S  0.0 12.4   0:10.80 httpd                                                                                   
10454 apache    20   0  226m  60m  38m S  0.0 12.2   0:09.56 httpd                                                                                   
10476 apache    20   0  225m  58m  38m S  0.0 11.9   0:09.87 httpd                                                                                   
10332 apache    20   0  228m  50m  24m S  0.0 10.2   0:13.73 httpd                                                                                   
10445 apache    20   0  220m  42m  24m S  0.0  8.5   0:10.17 httpd                                                                                   
  637 root      10 -10 32816  25m 1712 S  0.0  5.2   0:00.01 iscsiuio                                                                                
  652 root      10 -10  5128 2972 1876 S  0.0  0.6   0:05.86 iscsid                                                                                  
 9592 root      20   0  207m 2872  900 S  0.0  0.6   0:00.39 httpd                                                                                   
10196 nobody    20   0  136m 2408  500 S  0.0  0.5   0:00.79 memcached              

この場合、出力の各行に「VIRT」、「RES」、「SHR」、「%CUP」、「%MEM」を追加したいと思います。

できますか?

ベストアンサー1

以下を使ってこれを行います。:

top -b -n1 -c | 
    awk -vOFS=$'\t' '
        $2 == "apache"{
            virt+=$5; res+=$6; shr+=$7; cpu+=$9; mem+=$10; count++
        }
        END{
            print "virt", "res", "shr", "cpu", "mem"
            print virt, res, shr, cpu/count, mem/count
        }
    '

おすすめ記事