文档首页/ 弹性云服务器 ECS/ 故障排除/ 磁盘空间管理/ Linux操作系统云服务器磁盘分区提示空间不足怎么办?
更新时间:2023-03-03 GMT+08:00

Linux操作系统云服务器磁盘分区提示空间不足怎么办?

问题描述

在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%。

解决方案:扩容云硬盘。

已删除文件因句柄被占用未释放导致相应空间未释放

  1. 登录服务器,执行df -h查看磁盘block空间使用率为100%。
  2. 执行df -i查看磁盘inode空间使用率较低,如下截图所示,本例inode空间使用率为1%。
  3. 执行du -sh查看文件占用空间和磁盘可用空间相差较大。

解决方案:

  1. 执行以下命令,查找当前分区是否存在未被清除句柄的文件。

    lsof |grep delete

  2. 执行以下命令,结束进程释放磁盘空间。

    kill -9 进程编号

fs.inotify.max_user_watches值耗尽

Linux操作系统云服务器提示空间不足:No space left on device

解决方案:

  1. 执行以下命令,编辑/etc/sysctl.conf文件。

    vi /etc/sysctl.conf

  2. 补充如下信息:
    fs.inotify.max_user_watches = 524288
  3. 执行以下命令使修改生效。

    sysctl -p

    Inotify用于监视文件系统事件, 默认情况下可监视的每个真实用户ID创建的文件数量 上限为8192,可以通过执行以下命令获取当前的inotify文件监视限制。

    cat /proc/sys/fs/inotify/max_user_watches

    如果此限制不足以监视所有文件,必须增加限制以使正常工作。