Linux磁盘不足排查过程

今天,群里面有人@我服务挂了,群里都是公司那些老资格的大佬,心里一揪,还好是开发环境。我故作镇定的说,我看看,我打开Linux服务器,shell里面敲了服务状态命令,的确是挂了。于是我先重启,报错提示no space left on device。看这意思是没有空间了,不知道是内存没有空间了还是磁盘没有空间了,英语不好,于是只能轮流试一下

[root@storm bin] free -m
             total       used       free     shared    buffers     cached
Mem:         7983        4943       3039          0     132        183
-/+ buffers/cache:       4628       3354
Swap:         2015       1409       606

可见内存还剩3G。排除了内存,十有八九是磁盘了。于是敲下命令

[root@storm bin] df -h
Filesystem            Size  Used Avail Use% Mounted on
/ttt/pda1              47G   47G   0M  100% /

的确是磁盘满了,那么是哪里的文件占用了大量的磁盘空间呢?估计是应用日志。还是敲命令定位一下,因/为我们服务放在/opt/app下,所以从这个目录找起

[root@storm bin] du -sh /opt/app |grep G
38G /opt/app
[root@storm bin] du -sh /opt/app/* |grep G
20G /opt/app/message_plateform
11G /opt/app/question-h-cache

到此,占据内存的罪魁祸首找到了。磁盘总共47G,message_plateform,question-h-cache这2个服务就占据了31G。联系系统owner解决掉。那么问题来了,如何防止此类问题?

第一个就是运维写个脚步本,定期清理过期日志文件;

第二个logback提供自动压缩归档日志文件,自动清除旧的日志归档文件。

另外,可能出现磁盘空间足够,导致文件生成失败还有另一个原因,就是文件索引节点inode已满

[root@storm bin] df -i
Filesystem                    Inodes   IUsed  IFree IUse% Mounted on
/dev/mapper/dev01-root       4964352 4964352      0  100% /
udev                          503779     440 503339    1% /dev
tmpfs                         506183     353 505830    1% /run
none                          506183       5 506178    1% /run/lock
none                          506183       2 506181    1% /run/shm
/dev/sda1                     124496     255 124241    1% /boot

inodes 占用100%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值