一定期間CPU%の読み取り値を記録します。

一定期間CPU%の読み取り値を記録します。

私の質問は、ユーザーがCPU%の読み取り値が書き込まれる期間を決定することです。私のコードは次のとおりです。

#!/bin/bash
watch -n $1 ps -eo pcpu

そうですか? $ 1はパラメータです。

答え1

$ 1はスクリプトの最初のパラメータを表します。

したがって、スクリプトはN秒ごとに定期的に「ps -eo pcpu」を呼び出します。ここで、Nは最初の引数としてスクリプトに渡された値です。

CPU読み取り値のロギングに関しては、「ウォッチ」が表示項目に適しているため、選択しません。以下の例をご覧ください。 N秒ごとにユーザーのCPU使用率を確認します(Nが最初のパラメータとして渡されます)。

#!/usr/bin/bash

while true
  do
    top -b -n 1 -u "$user" | awk -v user="$user" 'NR>7 { sum += $9; } END { print user, sum; }'
  sleep $1
done

これにより、ユーザーは上記のスクリプトの出力を次のようにファイルにパイプできます。

./cpu_utilization.sh 1 > my_cpu_stats.log

関連情報