在 Debian 上如果你想定时使用 cpustat(或类似 CPU 统计工具),常见做法有下面几种,按使用场景从简单到规范说明。
Debian 里常见的 “cpustat” 有两种:
mpstat / sarapt install sysstat
cpustat(github.com/uber-common/cpustat)cpustat 1
下面以通用方式讲,不管哪种都适用。
crontab -e
*/5 * * * * /usr/bin/cpustat -s 1 1 >> /var/log/cpustat.log 2>&1
或如果是 mpstat:
*/5 * * * * /usr/bin/mpstat 1 1 >> /var/log/mpstat.log
注意:
- 写绝对路径
- 重定向输出,否则 cron 会发邮件给你
sudo vim /etc/systemd/system/cpustat-collect.service
内容:
[Unit]
Description=Collect cpustat
[Service]
Type=oneshot
ExecStart=/usr/bin/cpustat -s 1 1 >> /var/log/cpustat.log
sudo vim /etc/systemd/system/cpustat-collect.timer
[Unit]
Description=Run cpustat every 5 minutes
[Timer]
OnCalendar=*:0/5
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl daemon-reload
sudo systemctl enable --now cpustat-collect.timer
查看:
systemctl list-timers
cpustat -s 5 360 > /var/log/cpustat_$(date +%F).log &
或配合 logrotate 防止日志爆炸。
which cpustat
然后用绝对路径。
用 root 的 cron:
sudo crontab -e
直接用:
sar -u 1 0
sysstat 会自动记录历史(/var/log/sysstat)。
如果你能告诉我:
我可以给你一份可直接用的配置。