创建文件报错 no space left on device

发布时间:2025-12-15 23:08:08 浏览次数:1


现象描述

在Linux云服务器中创建新文件时,出现nospaceleftondevice报错

可能原因

  • 硬盘空间处于已满状态
  • 文件系统inode满
  • dfdu处于不一致状态

故障处理

硬盘空间处于已满状态

  1. 执行以下命令,查看硬盘使用率

df-h

  1. 定位硬盘使用率较高的挂载点,并执行以下命令进入该挂载点。

cd对应挂载点

例如,如需cd系统盘挂载点,则执行cd/

  1. 执行以下命令,查找占用空间较大的目录。

du-x--max-depth=1|sort-n

根据定位到占用空间最大的目录容量情况,执行以下步骤:

如果目录容量远低于硬盘总空间,请检查dfdu是否不一致步骤继续排查问题。

如果目录容量较大,若定位到占用空间较大的文件,综合业务情况评估是否可删除。若无法删除,请通过扩容云硬盘扩大硬盘存储空间。

检查文件系统是否inode满

  1. 执行以下命令,查看硬盘使用率。

df-i

  1. 定位硬盘使用率较高的挂载点,并执行以下命令进入该挂载点。

cd对应挂载点

  1. 执行以下命令,查找文件个数最多的目录,解决该问题。该命令较耗时,请耐心等待。

find/-typef|awk-F/-vOFS=/'{$NF="";dir[$0]++}END{for(iindir)printdir[i]""i}'|sort-k1-nr|head

检查dfdu是否不一致

解决进程占用文件句柄问题

执行以下命令,查看占用文件的进程

lsof|grepdelete

请根据返回结果,执行以下步骤:

kill对应进程。

重启服务。

若较多进程占用文件句柄,可重启服务器。

解决mount挂载嵌套问题

  1. 执行mount命令,mount占用空间大的磁盘到/mnt。例如:

mount/dev/vda1/mnt

  1. 执行以下命令,进入/mnt。

cd/mnt

  1. 执行以下命令,查找占用空间较大的目录。

du-x--max-depth=1|sort-n

根据返回结果,综合业务情况评估是否可删除目录或文件。

  1. 执行umount命令,umount磁盘。例如:

umount/mnt


创建文件错误怎么回事
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477