前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux磁盘满问题分析

Linux磁盘满问题分析

作者头像
一见
发布2018-12-28 16:36:10
2.7K0
发布2018-12-28 16:36:10
举报
文章被收录于专栏:蓝天蓝天

线上一台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)];

代码语言:txt
复制
           阅读(1060) | 评论(0) | 转发(0) | 			                

0

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

下一篇:没有了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档