当前位置: 首页 > article >正文

linux centos 系统提示No space left on device错误 centos清理硬盘空间

一、问题描述

线上的一个centos系统,硬盘满了,通过以下方式清理后,启动程序还是会提示No space left on device错误,具体请看解决方法,这里讲下如何清理硬盘:


1、查看系统磁盘是否已满

df -h

看哪个目录use到100%,我这里是删除过了的结果。

2、查看具体哪个目录占用了大量空间

du -h --max-depth=1 | sort -nr //统计当前目录大小,并按大小排序,按数字降序排序 

 可以看到root目录下有3.9G占用

查看GB以上文件夹目录并且排序,可以使用以下命令:

du -h --max-depth=1 |grep 'G' |sort

 

3、进入root目录中继续排查哪个目录占用占用最大

cd /root
ls -lh

 重复以上步骤,将大文件全找出来,如果想看目录下哪个文件占用最多,直接使用如下命令即可:

du -a /root/ -h | sort -n -r | head -n 100

 如果想看某个目录下文件统计,可通过如下命令 

for i in /*; do echo $i; find $i | wc -l; done

(如果确定是某个目录下面,则/转换为该目录绝对路径,如/xxx/xxx,则使用for i in /xxx/xxx*; do echo $i; find $i | wc -l; done)

然后通过以下命令删除

rm -rf xxx

二、解决方法

上面操作后,通过

df -h 

查询空间确实降下来了,可是还是提示No space left on device,此时再通过 

df -i

 查看了下inodes,发现根目录下的inodes值使用率为100%了

发现/目录下显示还是100%,通过以下命令查看/目录下文件占用

du -sh /*

 大概了解了一下du和df的区别:


du: disk usage 磁盘空间,是文件夹里所有文件大小叠加在一起计算的。
df: disk free 磁盘空闲空间,是通过统计磁盘中空闲计算的。

进入到/root目录下执行

du -sh * 

 注意,如果删除后,再次运行命令 df -h ,发现目录空间还是占满了的话,要把使用这个xxx文件的所属进程干掉,空间才能恢复正常!!

通过以下命令查看已删除空间却没有释放的进程

lsof -n |grep deleted

提示找不到命令时,需要安装下

yum install lsof -y

找到进程编号,然后

kill -9  xxx


http://www.kler.cn/a/8047.html

相关文章:

  • Vue.js 项目创建流程
  • SpringMVC学习笔记(二)
  • 使用API有效率地管理Dynadot域名,编辑账户中whois联系人信息
  • C++中string的新特性
  • 论文解析:边缘计算网络中资源共享的分布式协议(2区)
  • SpringCloud学习笔记
  • Ubuntu22安装OpenJDK
  • java中static{}是什么意思(IT枫斗者)
  • chatGPT写文章提问词-chatGPT生成论文要多久
  • JavaScript 进阶 - 0基础第三天
  • Android上的libcurl
  • ToBeWritten之杂项
  • uds的0x14服务介绍
  • ToBeWritten之物联网 BlueTooth/BLE 协议
  • 中金支付经历了4个月完成主要出资人前置审批
  • 关于Dataset和DataLoader的概念
  • Charles 安装及配置,详细步骤(不错,保存一下)
  • Hibernate的一级缓存是什么?具有哪些特点?
  • Linux系统编程(三)—— 文件编程(1)目录和文件
  • Python 常函数
  • 00后也太卷了吧!进厂起薪18K,原来面试时候都说了这些......
  • 操作技巧 | Revit中如何新建系统类型并赋予颜色?
  • PTA L1-003 个位数统计(15分)C语言
  • 每日做题总结——day01
  • 分布式锁介绍及解决方案
  • 【Java实战篇】Day6.在线教育网课平台