磁盘空间不足最典型的表现就是: No space left on devicenode
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 |
touch /app/logs/{1..20}.txt (不管文件多少都必需要占用一个inode和block)
linux
[root@chenleilei ~]# df -happ Filesystem Size Used Avail Use% Mounted onide /dev/sda3 18G 1.5G 16G 9% / oop tmpfs 491M 0 491M 0% /dev/shm测试 /dev/sda1 190M 35M 146M 19% /bootspa /tmp/sdc 65K 3.0K 59K 5% /app/logs日志 |
......................................................................................略orm
能够看到余下容量59k 而后为了验证 inode不足也没法建立文件的真理blog
咱们尝试建立一个文件:
![]() |
(有时候出现一个问题 在出现这个报错的时候仍旧能建立文件,而不能建立文件夹
我想不明白,最后我想到一个 有多是 目录占用的block为4K的缘由吧?? 是否是我也不知道)
以上就是inode耗尽的问题出现.解决办法就是: 删除里面多余的小文件,在linux系统中
不管文件大小都至少会占用一个block. 删除小文件后会大大释放inode数量.
![]() |
查看磁盘剩余容量:
[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 |