不太清楚的是哪个字段真正表示使用的cpu秒/分钟.我读过的手册页说’cpu’列是用于秒燃烧的,但是也有用-m显示的’cp’列,它们可以显示不同的总数.例如:
当我使用-m标志时,我得到了
$sa -m | grep username username 14944 65.53re 29.90cp 5308k
当我使用-u标志并总计“cpu”列时,我得到以下内容:
sa -u |grep username|awk 'BEGIN{TOTAL=0}{TOTAL=TOTAL+}END{print TOTAL}' 1032.86
有人能帮助我理解这两种不同模式中’cp’和’cpu’列之间的区别吗?
谢谢!
解决方法 让我用一个例子来帮助解释上面的结果显示:第一:我创建了一个bash脚本,我作为用户patrickr运行,这意味着要在系统上施加足够的负载才能引人注目.
#!/bin/bash#this file is named loop_script.shfor i in {1..5000}do echo "Welcome $i times"done
第二:我卸载然后重新安装了acct,以便我/ var / log / acct中的文件是新鲜的.创建/ var / log / acct / pacct文件的副本,以便将来可以使用格式正确的文件轻松截断文件(您不能只删除并重新创建文件 – 如果您这样做,sa将停止工作).请注意,此文件是系统上所有命令的日志,据我所知,无法根据时间段在日志中提取部分.
第三:然后我将这个脚本作为patrickr运行两次
patrickr@hostname:~$bash loop_script.sh
我会给你结果,然后我会解释它们:
以root身份(或其他任何patrickr用户)
在第一次循环后作为patrickr:
**sa -m** 24 0.09re 0.03cp 0avio 894kroot 22 0.07re 0.02cp 0avio 853kpatrickr 2 0.02re 0.01cp 0avio 1336k**sa -u |grep patrickr**patrickr 0.38 cpu 1336k mem 0 io bash
在第二次循环后作为patrickr:
**sa -m** 30 0.09re 0.03cp 0avio 850kroot 27 0.07re 0.02cp 0avio 814kpatrickr 3 0.02re 0.01cp 0avio 1178k**sa -u |grep patrickr**patrickr 0.38 cpu 1336k mem 0 io bash patrickr 0.35 cpu 1336k mem 0 io bash patrickr 0.00 cpu 863k mem 0 io ls (I happened to also run ls at patrickr)**sa -u**The results returned 106 results for a total of 2.86cpu that averaged to 0.03cp
这是你所看到的:
sa -m显示该服务器超时的所有活动的平均值.随着更多命令运行,此文件随着时间的推移而变大
sa -u | grep patrickr显示特定命令的cpu分钟内系统和用户时间的总和.
运行:
sa -u | grep patrickr | awk’BEGIN {TOTAL = 0} {TOTAL = TOTAL $2} END {print TOTAL}’
将为用户patrick提供总计,但sa -m命令实际上是给你平均值.看一下内存值,你需要第二个例子.它们也是平均值.
如果我将上面列出的三个结果添加到patrickr,.35 .37 .0并除以106并舍入到最接近的百分之一,我将获得0.01cp.
0.01cp的结果是系统上用户patrickr的平均负载,与从安装acct应用程序时的系统上的所有负载相比(即,因为文件/ var / log / acct / pacct开始跟踪).
Output FIEldscpu - sum of system and user time in cpu minutesre - actual time in minutesk - cpu-time averaged core usage,in 1k unitsk*sec - cpu storage integral (kilo-core seconds)u - user cpu time in cpu minutess - system time in cpu minutes
一个很好的资源,将帮助你在beginlinux.com(原始链接发现here).
总结以上是内存溢出为你收集整理的Linux进程记帐 – ‘cp’和’cpu’字段之间的区别?全部内容,希望文章能够帮你解决Linux进程记帐 – ‘cp’和’cpu’字段之间的区别?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)