在 Linux 云服务器中创建新文件时,出现 “no space left on device” 报错。
inode
满/data
目录占用大量的空间,/data
又作为挂载点,挂载到其他数据盘,则会出现在系统盘 df du 不一致情况。参考 处理方法 排查并解决问题。
登录云服务器,详情请参见 使用标准登录方式登录 Linux 实例。
df -h
定位硬盘使用率较高的挂载点,并执行以下命令进入该挂载点。
cd 对应挂载点
例如,如需 cd 系统盘挂载点,则执行 cd /
。
4. 执行以下命令,查找占用空间较大的目录。
du -x --max-depth=1 | sort -n
根据定位到占用空间最大的目录容量情况,执行以下步骤:
登录云服务器,详情请参见 使用标准登录方式登录 Linux 实例。
df -h
定位硬盘使用率较高的挂载点,并执行以下命令进入该挂载点。
cd 对应挂载点
例如,如需 cd 系统盘挂载点,则执行 cd /
。
4. 执行以下命令,查找文件个数最多的目录,解决该问题。该命令较耗时,请耐心等待。
find / -type f | awk -F / -v OFS=/ '{$NF="";dir[$0]++}END{for(i in dir)print dir[i]" "i}' | sort -k1 -nr | head
执行以下命令,查看占用文件的进程。
lsof | grep delete
请根据返回结果,执行以下步骤:
执行 mount 命令,mount 占用空间大的磁盘到 /mnt
。例如:
mount /dev/vda1 /mnt
执行以下命令,进入 /mnt
。
cd /mnt
执行以下命令,查找占用空间较大的目录。
du -x --max-depth=1 | sort -n
根据返回结果,综合业务情况评估是否可删除目录或文件。
4. 执行 umount 命令,umount 磁盘。例如:
umount /mnt
本页内容是否解决了您的问题?