我想找到 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);}'