Linux磁盘空间异常爆满的排查和处理
我采用了笨方法:在根目录下,通过du -hs命令,列出各目录所占空间大小
|
|
然后看哪个文件夹占用空间最大,再进入目录继续执行 du -sh *
,这样一步一步的追踪,通过这样的方式最终找到占用空间最大的文件。
通过追溯,我发现有两个文件占用空间特别大,分别是这两个文件:
|
|
我可以通过删除临时解决空间占用的问题,不过最根本的是解决问题产生的原因。由于我运行PCIE相关的程序,导致空间异常爆满,为了先临时解决问题是,我可以先删除这两个文件,然后再重启,发现空间异常爆满的问题解决了。
|
|
您需要成为根用户:输入sudo su,密码,然后输入上面的命令
这里有一个更安全的方法,允许您在回收磁盘空间的同时保留日志文件,同时也可以阻止日志文件再次这样做
- 安全地清除日志:在查看(或备份)日志以确定系统问题后,通过键入
> /var/log/syslog
(包括>
)清除它们。您可能需要成为根用户,在这种情况下输入sudo su
、您的密码,然后输入上面的命令)。
然后重新启动 syslog
服务( systemctl restart syslog
或 service syslog restart
)。
然后,可以使用 logrotate
强制日志在达到一定大小时自动旋转和删除。在本例中,您可以使用 sudo vim /etc/logrotate.d/rsyslog
编辑配置并添加一行: maxsize 1G
|
|
- 这将迫使您的syslog“旋转”(即,创建一个新的日志文件并将前一个日志文件存档),或者在该文件成为1GB之后(以第一位为准)。请注意,rotate 7意味着您的系统将只保留7次总的syslog备份,因此它只能占用7GB的空间。
- 注意:您可以更改maxsize、rotate N和其他设置以自定义日志–使用命令man logrotate查看更多信息。
- 您可能需要在文件的第二部分中添加相同的设置,它控制其他日志文件的行为(例如,kern.log用于内核事件,auth.log用于身份验证事件,等等)。此设置将使每个其他日志文件总共只占用4GB:
|
|
该配置紧挨着上一条配置。
这将允许您的系统在不填充磁盘的情况下继续记录事件。