この列の値をどのように追加できますか? (アメリカ+sy+id+wa)

この列の値をどのように追加できますか? (アメリカ+sy+id+wa)

CPU使用率を確認したい。だから私はus、sy、id、wa列を追加しようとしています。この4つの列を追加することは可能ですか?どんな提案がありますか?

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0  61860 136688      0 714920    0    0     4    14    0    6  1  1 97  0  0
 1  0  61860 136688      0 714920    0    0     0     0  150  145  0  0 100  0  0
 0  0  61860 136696      0 714920    0    0     0     0  108  129  1  0 99  0  1
 0  0  61860 136688      0 714920    0    0     0     0  177  179  0  1 99  0  0
 0  0  61860 136696      0 714920    0    0     0     0  137  155  0  0 100  0  0

expected output:

total utilization
100%
98%
76%

答え1

awkを使用して出力を処理し、必要な合計を含む列を追加できます。

vmstat | awk 'NR<=2{print}NR>2{printf("%s\t%d\n", $0, $13+$14+$15+$16);}'

「予測出力」を追加したら、次のことができます。

vmstat | awk '{print}NR>2{us+=$13; sy+=$14; id+=$15; wa+=$16}END{printf("Total us:%d sy:%d id:%d wa:%d\n", us, sy, id, wa);}'

関連情報