Custom Search

JITAKU_SVR_Wiki

プロセスごとのリソースをチェックしたいとき
※かなりの力技のためあまりお勧めは出来ない。

#!/bin/bash

function resource_mem() {
if [ $# -eq 1 ]
then

        INT=`ps auwwx | grep $1 | awk '{ print $4 }' |tr '\n' '+' |rev |cut -b 2- |rev | bc`
        TOTAL=` expr "$INT + 0.5" |bc | cut -d"." -f1`

        if [ -z ${TOTAL} ]
        then
                echo "0"
        else
                echo "${TOTAL}"
        fi

else
        echo "check argumernt"

fi

}

resource_mem $1

TIPS:
・取得した結果は0.5を足して四捨五入している。

・CPUの値を取得したい場合は
INT=`ps auwwx | grep $1 | awk '{ print $3 }' |tr '\n' '+' |rev |cut -b 2- |rev | bc` に変更する。 (関数名も変更した方が分かりやすい)

・取得した値が0.5未満(四捨五入後0)の場合はnullを返してしまうため、if分でnull=0を返すようにする。

上記を関数化し、$1に取得したいプロセスを与える。

例)

# sh resource_mem.sh http
6

# sh resource_cpu.sh http
0



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-12-22 (火) 14:51:03 (644d)