磁盘空间空间不足的原因及表现与解决办法


磁盘空间不足最典型的表现就是:     No space left on device

创建测试环境
dd if=/dev/zero  of=/tmp/sdc  bs=1k count=75
mkfs.ext4  /tmp/sdc       (不一定都是ext4硬盘,注意)    
mkdir -p /app/logs
mount  -o loop /tmp/sdc   /app/logs 
运行以上命令后,检查硬盘情况:
[root@chenleilei ~]# df -i /app/logs/ 
Filesystem Inodes IUsed IFree IUse% Mounted on 
/tmp/sdc      16         10         6     63%      /app/logs 

[root@chenleilei ~]# df -h /app/logs/ 
Filesystem Size Used Avail Use% Mounted on 
/tmp/sdc     65K  2.0K 60K    4%     /app/logs 

模拟inode耗尽
touch /app/logs/{1..20}.txt  (无论文件多少都必须要占用一个inode和block)

[root@chenleilei ~]# df -h
Filesystem       Size      Used     Avail    Use%      Mounted on
/dev/sda3       18G       1.5G      16G       9%            /  
tmpfs            491M            0     491M      0%         /dev/shm
/dev/sda1     190M       35M     146M     19%         /boot
/tmp/sdc         65K       3.0K       59K       5%         /app/logs
......................................................................................略
可以看到余下容量59k  然后为了验证 inode不足也无法创建文件的真理
我们尝试创建一个文件:
1362790-20180408203429213-255533392.png
(有时候出现一个问题 在出现这个报错的时候仍旧能创建文件,而不能创建文件夹
我想不明白,最后我想到一个 有可能是 目录占用的block为4K的原因吧?? 是不是我也不知道)

以上就是inode耗尽的问题出现.解决办法就是:  删除里面多余的小文件,在linux系统中
无论文件大小都至少会占用一个block. 删除小文件后会大大释放inode数量. 


block耗尽实验
1362790-20180408203429376-1442125641.png

查看磁盘剩余容量:
[root@chenleilei logs]# df -h
Filesystem   Size    Used     Avail     Use%   Mounted on
/dev/sda3   18G     1.5G     16G        9%        /
tmpfs        491M       0        491M      0%     /dev/shm
/dev/sda1 190M     35M    146M       19%    /boot
/tmp/sdc    65K       65K       0           100%     /app/logs


查看剩余的inode数量:
[root@chenleilei logs]# df -i
Filesystem      Inodes        IUsed     IFree        IUse%     Mounted on
/dev/sda3       1201872     55746     1146126      5%       /
tmpfs             125514               1     125513         1%       /dev/shm
/dev/sda1       51200              38       51162         1%       /boot
/tmp/sdc                16              16              0        100%        /app/logs

inode满了解决办法:   inode满了多数由于小文件过多导致,通过find来查找小文件即可,另外日志文件
是inode满了的 罪魁祸首,所以一般要多留意 log目录 使用find 命令来查找小文件并删除.



磁盘一满了就会报错 
[root@chenleilei logs]# cp /usr/share/autoconf/m4sugar/m4sh.m4 /app/logs/
cp: writing `/app/logs/m4sh.m4': No space left on device

解决办法: 清除大文件 即可
查找大文件: ------这个命令是把大文件列出来 让我们能一眼看出大文件是哪些,从而采取措施删除.
[root@chenleilei app]#  du -h /app/logs/* | sort -h      
9.0K     /app/logs/m4sh.m4
55K      /app/logs/m4sh.m4f

转载于:https://www.cnblogs.com/superlinux/p/b771cbd70384274f98d4f3a5ad0fa36f.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值