end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

bashで特定プロセスのCPU(%), MEM(%), 該当プロセス数 を表示

簡単なscriptはperlで書くことが多いのですが、 今後、perlがない環境で使用するかも知れませんので、bash

#!/usr/bin/bash

echo "YYYY-MM-DD HH:MM:SS   cpu(%)  mem(%)  procs count"

while true
do
    datetime=`date "+%F %T"`
    cpu=`ps aux | grep "/httpd/bin/httpd" | awk '{sum+=$3}END{print sum}'`
    mem=`ps aux | grep "/httpd/bin/httpd" | awk '{sum+=$4}END{print sum}'`
    procs=$((`ps aux | grep "/httpd/bin/httpd"| wc -l`-1))
    echo "$datetime $cpu   $mem   $procs"
    
    sleep 10
done

↑こう書くと、↓こう表示されます

$ ./watch_resource.sh 
YYYY-MM-DD HH:MM:SS     cpu(%)  mem(%)  processes count
2019-12-13 15:43:37     2.6     2       4
2019-12-13 15:43:47     0.6     2       4
2019-12-13 15:43:57     0.3     2       4
2019-12-13 15:44:07     1.2     2.5     4
2019-12-13 15:44:17     4.1     5.2     5
2019-12-13 15:44:28     14.6    10.6    4
2019-12-13 15:44:39     15.2    8.2     2
2019-12-13 15:44:51     8.6     0.4     2
2019-12-13 15:45:02     21.8    29.7    4
2019-12-13 15:45:13     35.9    43      5
    :                   :       :       :