linux "No space left on device" 磁盘空间解决办法

某年某月某日某时,某人在工作中设置crontab定时任务规则保存时,提示“No space left on device”,此时用df -h检查磁盘,发现还有剩余空间.请问是什么原因及如何排查?什么会导致这种事情发生


1.查看磁盘空间
[root@xmh ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 8.0G 3.2G 4.9G 39% / ##可以发现磁盘容量是空闲很多的
devtmpfs 1.7G 0 1.7G 0% /dev
tmpfs 1.7G 0 1.7G 0% /dev/shm
tmpfs 1.7G 8.7M 1.7G 1% /run
tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup
tmpfs 332M 0 332M 0% /run/user/0 2.查看inode空间
[root@xmh ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 4193792 4193792 0 100% / #但是inode空间已满了
devtmpfs 422466 395 422071 1% /dev
tmpfs 424923 1 424922 1% /dev/shm
tmpfs 424923 473 424450 1% /run
tmpfs 424923 16 424907 1% /sys/fs/cgroup
tmpfs 424923 1 424922 1% /run/user/0 提示:当磁盘容量或inode容量任意一个不足时就都会提示No space left on device

3.解决办法

#进入100%的目录删除无用的文件即可,比如日志...
[root@jason /]# rm -rf /test/

#再次查看inode容量
[root@xmh ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 4193792 25973 4167819 1% / #inode容量已恢复正常
devtmpfs 422466 395 422071 1% /dev
tmpfs 424923 1 424922 1% /dev/shm
tmpfs 424923 473 424450 1% /run
tmpfs 424923 16 424907 1% /sys/fs/cgroup
tmpfs 424923 1 424922 1% /run/user/0 补充两个命令:

文件夹按大小排序
du -s * | sort -nr 排序但显示是kb

du -sh * | sort -nr 不排序 显示g或mb


linux "No space left on device" 磁盘空间解决办法

首先先要解释什么是inode?

inode在linux中,每个文件,不管大小是多少都会对应一个inode,inode就是一个专门用来保存文件属性,权限和指针(指向block)

inodex满了会导致什么问题?

首先,在linux中,有两个概念,就是block和inode,block:用于存放实际数据,inode:存放文件属性,只要这两个其中一个占满空间了,都会导致提示报错“磁盘空间不足”

linux "No space left on device" 磁盘空间解决办法

 
上一篇:记一次关于NVROM中遇到的“Could not prepare Boot variable:No space left on device”问题的解决历程


下一篇:『编程题全队』Beta 阶段冲刺博客二