解决方法:1、如果是磁盘分区“block”或“inode”空间使用率达到“100%”,可通过扩容云硬盘来解决;2、如果是已删除文件因句柄被占用未释放导致相应空间未释放,可用“kill -9 进程编号”命令,通过结束进程释放磁盘空间来解决。
本教程操作环境:linux5.9.8系统、Dell G3电脑。
问题描述
在Linux操作系统云服务器中创建文件时提示空间不足:No space left on device
可能原因
磁盘分区block空间使用率达到100%。
磁盘分区inode空间使用率达到100%。
已删除文件因句柄被占用未释放导致相应空间未释放。
fs.inotify.max_user_watches值耗尽
磁盘分区block空间使用率达到100%
执行以下命令查看磁盘空间。
df -h
如回显信息如下所示说明block空间使用率100%。
解决方案:扩容云硬盘。
磁盘分区inode空间使用率达到100%
执行以下命令查看磁盘空间。
df -i
如回显信息如下所示说明inode空间使用率100%。
解决方案:扩容云硬盘。
已删除文件因句柄被占用未释放导致相应空间未释放
登录服务器,执行df -h查看磁盘block空间使用率为100%。
执行df -i查看磁盘inode空间使用率较低,如下截图所示,本例inode空间使用率为1%。
执行du -sh查看文件占用空间和磁盘可用空间相差较大。
解决方案:
执行以下命令,查找当前分区是否存在未被清除句柄的文件。
lsof |grep delete
执行以下命令,结束进程释放磁盘空间。
kill -9 进程编号
fs.inotify.max_user_watches值耗尽
Linux操作系统云服务器提示空间不足:No space left on device
解决方案:
执行以下命令,编辑/etc/sysctl.conf文件。
vi /etc/sysctl.conf
补充如下信息:
fs.inotify.max_user_watches = 524288
执行以下命令使修改生效。
sysctl -p
Inotify用于监视文件系统事件, 默认情况下可监视的每个真实用户ID创建的文件数量 上限为8192,可以通过执行以下命令获取当前的inotify文件监视限制。
cat /proc/sys/fs/inotify/max_user_watches
如果此限制不足以监视所有文件,必须增加限制以使正常工作。
相关推荐:《Linux教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。