tencent cloud

云服务器

动态与公告
产品动态
公共镜像更新动态
操作系统官方停止维护计划
产品公告
产品简介
云服务器概述
产品优势
基本概念
地域和可用区
新手指引
Service Regions and Service Providers
产品计费
计费概述
计费方式
计费项
转换计费方式
购买实例
变配费用说明
欠费说明
快速入门
通过自定义配置购买 Linux 云服务器
通过自定义配置购买 Windows 云服务器
用户指南
操作指南总览
使用限制总览
实例
竞价实例
预留实例
镜像
存储
备份与恢复
网络
安全
密码/密钥
监控与告警
运维管理
便捷功能
迁移服务器
在线迁移
迁移咨询
故障处理
无法登录云服务器问题处理思路
Windows 实例登录相关故障
Linux 实例登录相关故障
其他实例登录相关故障
实例运行故障
Linux 实例内存故障
网络故障
实践教程
云服务器选型建议
搭建环境
搭建网站
搭建应用
搭建可视化界面
本地文件上传到云服务器
网络性能测试
其他实践教程
API 文档
History
Introduction
API Category
Making API Requests
Region APIs
Instance APIs
Cloud Hosting Cluster APIs
Image APIs
Instance Launch Template APIs
Placement Group APIs
Key APIs
Security Group APIs
Network APIs
Data Types
Error Codes
安全与合规
访问管理
网络
常见问题
地域和可用区相关
计费相关
实例相关
存储相关
镜像相关
服务器迁移相关
网络相关
安全相关
操作系统相关
运维和监控相关
访问管理相关
NTP 服务相关
应用场景相关
服务协议
CVM Service Level Agreements
Red Hat Enterprise Linux 镜像服务协议
Public IP Service Level Agreement
词汇表
文档云服务器故障处理实例运行故障创建文件报错 no space left on device

创建文件报错 no space left on device

PDF
聚焦模式
字号
最后更新时间: 2024-01-06 17:32:18

现象描述

在 Linux 云服务器中创建新文件时,出现 “no space left on device” 报错。

可能原因

硬盘空间已满
文件系统 inode
df du 不一致
文件已删除,但仍有进程一直持有对应的文件句柄,导致硬盘空间一直未释放。
mount 挂载嵌套。例如,系统盘的 /data 目录占用大量的空间,/data 又作为挂载点,挂载到其他数据盘,则会出现在系统盘 df du 不一致情况。

解决思路

参见 处理方法 排查并解决问题。

处理方法

解决硬盘空间已满问题

1. 登录云服务器,详情请参见 使用标准登录方式登录 Linux 实例
2. 执行以下命令,查看硬盘使用率。
df -h
3. 定位硬盘使用率较高的挂载点,并执行以下命令进入该挂载点。
cd 对应挂载点
例如,如需 cd 系统盘挂载点,则执行 cd /
4. 执行以下命令,查找占用空间较大的目录。
du -x --max-depth=1 | sort -n
根据定位到占用空间最大的目录容量情况,执行以下步骤:
目录容量远低于硬盘总空间,则请参见 解决 df du 不一致问题 步骤继续排查问题。
目录容量较大,则请执行 步骤2 定位到占用空间较大的文件,综合业务情况评估是否可删除。若无法删除,则请通过 扩容云硬盘 扩大硬盘存储空间。

解决文件系统 inode 满问题

1. 登录云服务器,详情请参见 使用标准登录方式登录 Linux 实例
2. 执行以下命令,查看硬盘使用率。
df -h
3. 定位硬盘使用率较高的挂载点,并执行以下命令进入该挂载点。
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

解决 df du 不一致问题

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

执行以下命令,查看占用文件的进程。
lsofgrep delete
请根据返回结果,执行以下步骤:
kill 对应进程。
重启服务。
若较多进程占用文件句柄,可重启服务器。

解决 mount 挂载嵌套问题

1. 执行 mount 命令,mount 占用空间大的磁盘到 /mnt。例如:
mount /dev/vda1 /mnt
2. 执行以下命令,进入 /mnt
cd /mnt
3. 执行以下命令,查找占用空间较大的目录。
du -x --max-depth=1 | sort -n
根据返回结果,综合业务情况评估是否可删除目录或文件。
4. 执行 umount 命令,umount 磁盘。例如:
umount /mnt


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈