如何添加该列的值? (美国+ 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);}'

相关内容