Linux进程记帐 – ‘cp’和’cpu’字段之间的区别?

Linux进程记帐 – ‘cp’和’cpu’字段之间的区别?,第1张

概述我一直在寻找使用进程记帐来跟踪运行在我们的环境中存在问题的脚本的各种用户和站点,而不是尝试像定期抓取顶部那样. 不太清楚的是哪个字段真正表示使用的cpu秒/分钟.我读过的手册页说’cpu’列是用于秒燃烧的,但是也有用-m显示的’cp’列,它们可以显示不同的总数.例如: 当我使用-m标志时,我得到了 $sa -m | grep username username 14944 65.53r 我一直在寻找使用进程记帐来跟踪运行在我们的环境中存在问题的脚本的各种用户和站点,而不是尝试像定期抓取顶部那样.

不太清楚的是哪个字段真正表示使用的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’字段之间的区别?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/1044330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存