本文主要是介绍磁盘空间充足但无法创建文件no space left on device,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题现象
今天在创建目录时遇到了一个奇怪的问题,创建目录时报错can’t create directory ‘filebeat’:no space left on device。但我通过df -h发现磁盘空间还很充足,这是为什么呢?
问题原因
通过使用df -i命令发现该盘的inode使用率已经100%了,这就是为什么无法再创建目录和文件
硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。当这两个区域中的任何一个区域满了之后都无法再创建目录或文件。
解决方法
inode使用率100%一般都是非常多比较小的文件占用了inode,查找占用inode较多的目录
cat findinode.sh
for i in /*;
do echo $i;
find $i | wc -l |sort -nr;
done
sh findinode.sh
/bin
1
/boot
326
/dev
369
/etc
2923
/home
5
/lib
1
/lib64
1
/media
1
/mnt
1
/opt
23
/proc
79052
/root
177
/run
514
/sbin
1
/srv
1
/sys
82024
/tmp
7
/usr
53633
/var
8272
找出文件较多的目录,根据实际情况删除部分文件就可以了。
这篇关于磁盘空间充足但无法创建文件no space left on device的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!