Linux磁盘满问题分析

线上一台Linux服务器最近经常磁盘根分区满告警, 但不是普通的日志文件或数据文件过多过大,现象如下: 1)执行“df -h”查看各分区空间的使用情况 [root@XEN64 /]# df -h Filesystem      Size  Used Avail Use% Mounted on /dev/sda1       9.8G  8.7G  535M  95% / devtmpfs        7.7G     0  7.7G   0% /dev tmpfs           7.7G     0  7.7G   0% /dev/shm tmpfs           7.7G  666M  7.1G   9% /run tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup /dev/sda3        20G  3.3G   16G  18% /usr/local 可以看到根分区使用率超过了预警值, 进入根目录,查看根目录下各子目录的大小: [root@XEN64 /]# du -sm * 0       bin 180     boot 0       dev 24      etc 3       home 0       lib 0       lib64 1       lost+found 1       media 1       mnt 32      opt du: cannot access 'proc/17842/task/17842/fd/4': No such file or directory du: cannot access 'proc/17842/task/17842/fdinfo/4': No such file or directory du: cannot access 'proc/17842/fd/4': No such file or directory du: cannot access 'proc/17842/fdinfo/4': No such file or directory 0       proc 2       root 666     run 0       sbin 1       srv 0       sys 96      tmp 5856    usr 221     var 进一步检查/usr目录: [root@XEN64 /usr]# du -sm * 358     1.2-compat 164     bin 1       etc 1       games 33      include 912     lib 432     lib64 101     libexec 3269    local 1       man 46      sbin 547     share 1       src 0       tmp 对比du和df的结果,可以发现两者的已使用大小不一致, du命令得到的已用大小远小于df命令已用大小,初步猜测存已被删除文件仍然有进程在写它,导致du命令发现不了。 如果允许,最简单的处理方式是重启机器,不然用下列命令找出被删除的,但仍然可能有进程在写它的文件: pids=`ps aux|awk '{print $2}'`;for pid in $pids; do lsof -p $pid|grep del; done 见到庐山真面目: [root@XEN64 /proc]# pids=`ps aux|awk '{print $2}'`;for pid in $pids; do lsof -p $pid|grep del; done stati 28885 root    1w      REG        8,1 5969132048     409096 /tmp/process_monitor-root.log (deleted) stati 28885 root    2w      REG        8,1 5969132048     409096 /tmp/process_monitor-root.log (deleted) stati 28885 root    3u      REG        8,4   20480039   35651587 /data/consumer/log/consumer.log.5 (deleted) consumer 29756 root    1w   REG        8,1 5969132048     409096 /tmp/process_monitor-root.log (deleted) consumer 29756 root    2w   REG        8,1 5969132048     409096 /tmp/process_monitor-root.log (deleted) consumer 29756 root    3u   REG        8,4   20480039   35651587 /data/consumer/log/consumer.log.5 (deleted) 果然是有大量的已经删除文件,办法要么重启,要么重启持有它们的进程,问题即可解决。

window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];

阅读(1060) | 评论(0) | 转发(0) |

0

上一篇:std::string的find问题研究

下一篇:没有了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券