在Debian系統中清理dmesg日志,需平衡日志保留需求與系統資源管理,以下是最佳實踐:
使用dmesg -C命令清空內核環形緩沖區,此操作需root權限,且重啟后日志會重新生成。
通過logrotate工具
創建/etc/logrotate.d/dmesg配置文件,設置按天/周輪轉并壓縮舊日志,保留最近7-14天的記錄,示例配置:
/var/log/dmesg {
rotate 7
daily
compress
missingok
notifempty
create 0640 root root
postrotate
dmesg -T > /var/log/dmesg
endscript
}
啟用后通過sudo logrotate -f /etc/logrotate.d/dmesg測試,確保配置正確。
限制內核日志大小
編輯/etc/sysctl.conf,添加kernel.printk = 4 4 1 7,限制控制臺日志級別和最大行數,減少冗余信息。
生效配置:sudo sysctl -p。
journalctl,可通過sudo journalctl --vacuum-time=14d清理舊日志,與dmesg配合管理。