Linux磁盘空间使用率100%解决办法
Linux磁盘空间使用率100%解决办法
- 磁盘空间使用率很高的解决办法
- 事情发生的原因
- 方法一:删除未被进程引用的大文件、
- 方法二:删除被磁盘引用的大文件
- 总结
磁盘空间使用率很高的解决办法
事情发生的原因
本人在服务器上面部署了一个java项目,项目中使用了RabbitMQ 消息中间件,项目有一个功能是,用户登录后会发一封邮件到登录用户的邮箱(这里就是使用RabbitMQ 异步完成)。为了给其他人观看项目,我就新建了一个账号,但是忘记了存储邮箱,所以发送消息后,消息发送邮件时一直报错。就导致日志文件变得无比大,后面就是磁盘满了。
方法一:删除未被进程引用的大文件、
这一类文件,就是孤立存在磁盘上的,内存中没有人使用它,删除它能直接达到回收空间的效果。
- 使用df命令可以看到 Use 列 就是磁盘使用得百分比。可以看见文件系统/dev/vda1 已经
[root@VM-0-9-centos: test]#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 50G 0 100% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 920M 24K 920M 1% /dev/shm
tmpfs 920M 48M 872M 6% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/0
- 进入根目录查看文件占用情况
[root@VM-0-9-centos: /]#du -sh * | grep G
1.2G apps
du: cannot access ‘proc/9507/task/9507/fd/4’: No such file or directory
du: cannot access ‘proc/9507/task/9507/fdinfo/4’: No such file or directory
du: cannot access ‘proc/9507/fd/4’: No such file or directory
du: cannot access ‘proc/9507/fdinfo/4’: No such file or directory
3.5G project
34G root
8.8G usr
1.8G var
可以看到,在root目录下有34G的文件,我们进入root目录,重复执行上面的命令找到大文件:
[root@VM-0-9-centos: ~]#du -sh *
9.8G a.txt
4.0K deployJD.sh
469M mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
1016K nginx-1.18.0.tar.gz
4.0K null
85M otp_src_23.0.tar.gz
15M rabbitmq-server-generic-unix-3.8.5.tar.xz
2.2M redis-6.0.6.tar.gz
24G test
4.0K test.sh
找到大文件后,将其删除
[root@VM-0-9-centos: ~]#rm -rf a.txt
[root@VM-0-9-centos: ~]#rm -rf test
再次执行 df -h 查看磁盘使用量
[root@VM-0-9-centos: ~]#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 16G 31G 35% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 920M 24K 920M 1% /dev/shm
tmpfs 920M 48M 872M 6% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/0
注意:这里删除的两个文件,在进程中是没有被引用的,所以删除后就能直接看到效果。
还有一种情况,就是需要删除的文件已经被进程引用了(例如:项目引用的日志文件),这时删除文件后,使用df -h发现和删除前一样。
方法二:删除被磁盘引用的大文件
被内存引用的文件,即使磁盘上被删除了,但是在内存中还在使用(未删除完成)。
这里我使用的是启动一个web项目,然后往日志文件中写入数据,使其变成一个几十G的文件。
- 查看文件大小 4.9k
[root@VM-0-9-centos: jd]#ll -h springboot.log
-rw-r--r-- 1 root root 4.9K Aug 21 20:27 springboot.log
- 写入文件数据
[root@VM-0-9-centos: jd]#dd if=/dev/zero of=./springboot.log bs=1024k count=102400
dd: error writing ‘./springboot.log’: No space left on device
33965+0 records in
33964+0 records out
35614191616 bytes (36 GB) copied, 315.715 s, 113 MB/s[root@VM-0-9-centos: jd]#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 50G 0 100% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 920M 24K 920M 1% /dev/shm
tmpfs 920M 48M 872M 6% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/0
- 此时我们根据第一种方法进行排查删除文件
[root@VM-0-9-centos: jd]#cd /[root@VM-0-9-centos: /]#du -sh * | grep G
1.2G apps
du: cannot access ‘proc/13650/task/13650/fd/4’: No such file or directory
du: cannot access ‘proc/13650/task/13650/fdinfo/4’: No such file or directory
du: cannot access ‘proc/13650/fd/4’: No such file or directory
du: cannot access ‘proc/13650/fdinfo/4’: No such file or directory
37G project
8.8G usr
1.8G var[root@VM-0-9-centos: /]#cd /project/jd[root@VM-0-9-centos: jd]#ll -h springboot.log
-rw-r--r-- 1 root root 34G Aug 21 20:38 springboot.log[root@VM-0-9-centos: jd]#rm -rf springboot.log[root@VM-0-9-centos: jd]#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 50G 0 100% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 920M 24K 920M 1% /dev/shm
tmpfs 920M 8.7M 911M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/
可以看到删除文件后 df -h命令查询出来还是没变,下面是解决方法:
查找上面删除的文件,被引用的PID,然后kill掉进程
[root@VM-0-9-centos: jd]#lsof | grep deleted......java 10615 root 1w REG 253,1 35614191616 1442201 /project/jd/springboot.log (deleted)
java 10615 root 2w REG 253,1 35614191616 1442201 /project/jd/springboot.log (deleted)
java 10615 10616 root 1w REG 253,1 35614191616 1442201 /project/jd/springboot.log (deleted)
java 10615 10616 root 2w REG 253,1 35614191616 1442201 /project/jd/springboot.log (deleted)
java 10615 10617 root 1w REG 253,1 35614191616 1442201 /project/jd/springboot.log (deleted)
...
杀掉指定的进程,然后再查看磁盘使用率,发现磁盘空间已经回收成功。
[root@VM-0-9-centos: jd]#kill -9 10615[root@VM-0-9-centos: jd]#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 16G 31G 35% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 920M 24K 920M 1% /dev/shm
tmpfs 920M 8.7M 911M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/0
[1]+ Killed nohup java -Dloader.path="lib/" -jar myproject-0.0.1-SNAPSHOT.jar > springboot.log 2>&1
总结
做个笔记
Linux磁盘空间使用率100%解决办法相关推荐
- 使用硬盘空间少的linux系统,linux磁盘空间不足的解决办法
一些linux系统电脑用户在使用一些应用程序的时候,会被提醒:磁盘空间不足的问题,因此,就有网友想知道:linux查看磁盘空间的方法,以及linux磁盘空间不足的原因和解决方法.下面,就一起来看看今天 ...
- 虚拟机linux磁盘空间不足的解决办法
今天用ssh登陆sqlplus时,报了下面磁盘空间不足的错误: [oracle@orcl ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - ...
- mysql 磁盘利用率100_磁盘空间使用率100%的故障处理
磁盘空间使用率100%的故障处理过程 环境介绍: 1.云服务器 2.操作系统 CentOS 5.6 3.内存8G 磁盘与挂载路径的介绍: mounted on si ...
- No space left on device 磁盘空间提示不足解决办法
首先先要解释什么是inode? inode在linux中,每个文件,不管大小是多少都会对应一个inode,inode就是一个专门用来保存文件属性,权限和指针(指向block) inodex满了会导致什 ...
- 磁盘空间不足的解决办法
先说一下用于磁盘空间快满时检查 很多小伙伴会想到find ,这个想法是好的,不过find 有点慢,也不方便,例如: find /home1 -type f -size +1000000k 如果我们这 ...
- Docker磁盘空间满的解决办法
今天在服务器上基于docker容器搭建mysql主从时,然后重启docker,发现容器启动不了了,报的错误是:"ERROR:cannot create temporary director ...
- linux 根目录磁盘占满,linux磁盘空间满,解决方法
1.查看磁盘使用情况 [root@localhost ~]# df -h ?? 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/cl-root 50 ...
- linux磁盘空间不足解决方法
原文链接:linux磁盘空间不足解决方法 一个之前运行好好的服务突然挂掉了,可能的原因有两个,一是磁盘满了,二是内存满了. 这里只介绍磁盘空间不足的解决办法 1.首先确定是否是磁盘空间不足 输入命令: ...
- linux好几百g空间使用,linux磁盘空间被占用100%-148
一台测试服务器(4.17)服务器硬盘物理空间300g使用率是百分之百 1)df显示硬盘用完了,查看系统没大大文件删除部分文件还是显示全部用完 # df -h /dev/sda3 ...
最新文章
- List(JDK1.7)(1)
- 5G是卡位未来的重要基础设施 物联网已成为新的攻击入口
- Centos7 下Redis3安装
- 10分钟,快速使用VUE-VUEX
- pbr 多出口_结合BFD基于PBR的多出口流量转发的控制与备份
- 从 Java 替代品到打造完整生态,Kotlin 10 岁了!
- 51nod1245 Binomial Coefficients Revenge
- 2.2. 全国各地ISP IP表
- 一起谈.NET技术,DataTable 深入解析数据源绑定原理之高级篇
- mt4 指标 涨跌幅 颜色k线_通达信K线波段操盘指标公式
- 就个人开发而言,Ubuntu比Debian更适合
- pytorch F.conv2d(函数式接口)
- SQL 查询分析器操作(修改、添加、删除)表及字段等
- 解读翻译李飞飞-Hiding Data With Deep Networks
- Ambarella公司申请首次公开招股
- 口碑极好的SAP PP培训视频, 21G, 52个视频
- PHP 26个英文字母递增
- 1-1/2+1/3-1/4+.........+1/99-1/100
- 希尔伯特到解析信号,再到复包络
- 使用虹软SDK进行视频人脸识别
热门文章
- 细节决定成就,Cocos助力H5火爆游戏《猪来了》
- 物联网时代的网络安全
- 管理学家杂志管理学家杂志社管理学家编辑部2022年第12期目录
- 视频平台完善“青少年模式”,应先“从无到有”再“从有到优”
- LoRA学习: SX1276/SX1277/SX1278对比
- 英语翻译器拍照翻译扫一扫,让你更轻松地理解英语文章
- 一文了解手势识别GestureDetector
- word “兼职”-----不单单是文字处理
- 【Cprimerplus_03】算术运算符、关系运算符、逻辑运算符
- 时间转时间戳 时间戳转时间