Ubuntu 查看 CPU 信息历史记录的可行方案
核心说明
快速导出当前快照
#!/usr/bin/env bash
ts=$(date +"%Y%m%d_%H%M%S")
out="/var/log/cpuinfo/cpuinfo_${ts}.txt"
mkdir -p "$(dirname "$out")"
lscpu > "$out"
cp /proc/cpuinfo "$out.cpuinfo"
echo "Saved to $out"
上述方法可快速把当前 CPU 信息导出为带时间戳的文件,便于后续对比与归档。建立长期历史记录
#!/usr/bin/env bash
ts=$(date +"%Y-%m-%d %H:%M:%S")
log=/var/log/cpuinfo/cpuinfo_$(date +%Y%m%d).log
{
echo "=== $ts ==="
lscpu
echo
cat /proc/cpuinfo
} >> "$log"
[Unit]
Description=Collect CPU info daily
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
创建服务单元(/etc/systemd/system/cpuinfo-collect.service):[Unit]
Description=Collect CPU info
[Service]
Type=oneshot
ExecStart=/usr/local/bin/collect_cpuinfo.sh
/var/log/cpuinfo/*.log {
daily
rotate 30
compress
missingok
notifempty
create 0644 ubuntu ubuntu
}
zgrep -h '^model name' /var/log/cpuinfo/cpuinfo_*.gz | sort | uniq -c
只关注频率与调频历史
echo "=== $(date) ===" >> /var/log/cpuinfo/cpufreq.log
cpufreq-info >> /var/log/cpuinfo/cpufreq.log