fel*_*the 5 filesystem disk files
我无法写入任何文件,即使是 root,也无法执行任何其他需要写入的操作。任何需要写入的进程都不能,所以它们都失败了。df
说我有足够的空间:
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 30G 14G 15G 48% /
udev 984M 4.0K 984M 1% /dev
tmpfs 399M 668K 399M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 997M 0 997M 0% /run/shm
Run Code Online (Sandbox Code Playgroud)
我发现的所有“无法写入磁盘”的结果都与合法完整的磁盘有关。我什至不知道从哪里开始。今天早上突然出现了这个问题。
PHP 的最后一个日志条目是“失败:设备上没有剩余空间 (28)”。Vim 说“无法打开(文件)进行写入”。其他应用程序会出现类似的错误。
删除 ~1gb 后只是为了确定,问题仍然存在。我也重启了。Ubuntu 12.04
编辑:事实证明,尽管我没有磁盘空间不足,但索引节点已经用完了。问题在这里解决了:
Run Code Online (Sandbox Code Playgroud)You are out of inodes. It's likely that you have a directory somewhere with many very small files.
什么是索引节点?
Ext4 的理论限制为 40 亿个文件,该限制受到用于标识每个文件的 inode 编号大小的限制(ext4 使用 32 位 inode 编号)。然而,正如 John 所说,Ext4 静态分配 inode 表,因此实际限制是在创建文件系统时设置的。