我的系统日志充满了以下内容:
Oct 28 23:35:01 myhost CRON[17705]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Oct 28 23:45:01 myhost CRON[18392]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Run Code Online (Sandbox Code Playgroud)
还有一些
Oct 28 23:59:01 myhost CRON[19251]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 60 2)
Run Code Online (Sandbox Code Playgroud)
现在,显然,这些来自 cron 作业,位于/etc/cron.d/sysstat
:
# Activity reports every 10 minutes everyday
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
# Additional run …
Run Code Online (Sandbox Code Playgroud) 我有一个脚本报告特定程序从 pidstat 读取值的 CPU 使用情况。该脚本启动为:
pidstat -C ^frontend$ -h -l -p ALL 1 1
Run Code Online (Sandbox Code Playgroud)
以这种方式报告的值有时会超过 100% 的 cpu 使用率,这是不可能的,因为该进程是单头的。
在上下尝试找出可能导致这种行为的原因之后,我尝试简单地增加 pidstat 收集信息的时间,并发现令人惊讶的是,这些值往往更合理:
pidstat -C ^frontend$ -h -l -p ALL 1 10
Linux 3.13.0-32-generic (eu-123) 09/22/2014 _x86_64_ (8 CPU)
# Time PID %usr %system %guest %CPU CPU Command
1411396853 15884 28.43 29.41 0.00 57.84 1 /srv/propulsor/frontend-01/frontend
1411396853 15911 33.33 32.35 0.00 65.69 2 /srv/propulsor/frontend-02/frontend
1411396853 15968 58.82 0.00 0.00 58.82 3 /srv/propulsor/frontend-03/frontend
# Time PID %usr %system %guest %CPU CPU Command …
Run Code Online (Sandbox Code Playgroud) 我在 ubuntu 和 centos 之间的 sadf 中遇到问题。问题是日期在两者中的显示方式。
Ubuntu:
root@db1:/usr/local/nagios/libexec/nrpe_local# sadf | head -10
db1.oas3.realmedia.xstrat.us 300 2014-05-15 03-05-01 UTC all %%user 0.14
db1.oas3.realmedia.xstrat.us 300 2014-05-15 03-05-01 UTC all %%nice 0.00
Run Code Online (Sandbox Code Playgroud)
Centos:
[root@ui1 jboss]# sadf | head -5
ui1.oas3.realmedia.xstrat.us 595 1400123401 all %user 1.00
ui1.oas3.realmedia.xstrat.us 595 1400123401 all %nice 0.00
Run Code Online (Sandbox Code Playgroud)
我需要在 ubuntu 中显示时间,因为它以centos(纪元时间)显示。
我没有幸运地找到一些可以解决这个问题的配置文件。