linux下磁盘占用达到100%了,找不到哪些大文件耗尽了磁盘
Linux下的根分区使用率100%,但是查看/分区下的目录都不大,没有占用满,这该怎么处理?
重启是肯定有效的,目前处理情况:重新restart应用后,空间释放出来
1、lsof | grep deletd
2、reboot 重启
linux下磁盘占用达到100%了,找不到哪些大文件耗尽了磁盘。
Linux下使用df -lh
查看磁盘时:
/dev/sda1 130G 123G 353M 100%
/
磁盘快用尽了,
但我这边就是查找不到具体是哪些大文件占用的。
1、如果是大文件占用了,那么查询大于某个值的文件的方法:
find / -size +100c -print
这是从根盘开始查找大于 100字节的文件(至于字节数你当然可以自己设置)
你可以用 find / -size +100c -exec ls -l {}\; 来列出文件属性。
2、如果只是因为有些应用生成的日志文件较多,长时间没有清理后占用了,这种情况最明显的标志为系统空间使用量逐步递增,每天的增量基本相差不大。那么最快捷的方式莫过于询问应用厂商要到日志存放目录后进行清理。如果找不到厂商,那只好自己动手咯,写个脚本查:
#!/bin/ksh
用du命令输出所有目录所占的磁盘空间大小,以G为单位
du -h >fs_du.log
判断各层目录大小,查到占用量大的目录
cat fs_du.log|while read LINE FS_USED
do
if
[ LINE−ge10]thenechoFS_USED >>result.log
else
exit
fi
done
查看运行结果
more result.log
这样你就能看到占用量比较大的目录,从而有针对性的到相应目录下检查,看到底是什么东西在占用硬盘空间了。
(if [ $LINE -ge 10 ] 这里是判断超过10G的目录,你可以修改)
3、因为人为的误操作,导致了某些进程在没有执行完成的时候被kill掉了,但是缓存中的程序没有释放,仍然在运行,这会产生一些临时文件占用大量的磁盘空间资源,这种现象的特点是爆发式的增长,在很短时间内就将磁盘空间占满。解决的方法:
1、如果是因为父进程被杀除,子进程还运行导致,那么最简单,kill子进程,就会释放。
2、如果能用ipcs确认是哪个用户的进程,那么也不困难,顺着使用ipcrm就行(这个就不一一例举了,有了命令查使用方法还是很方便的)
3、执行进程的用户是比较关键的用户如:root用户、有实例的oracle用户、在线的生产用户等。那么建议在确认是因为共享缓存的原因导致的问题后重启服务器。
4、你已经删除了一些占用量大的文件,或者在根盘下做
du -h
发现占用量远远的小于130G,df的结果仍然是100%的使用率。那么基本肯定你碰到了linux的一个bug,直接重启就能解决。(当然了也不一定是bug,我碰到过那种程序在写一个日志,但是删除日志后空间不释放的问题。这个是linux本身的机制引起的,只需要停止相关的程序空间就会释放的)其实并不是你的磁盘的空间被占用,而是你的磁盘的节点耗尽了。使用:
df -i /dev/sdbx(x为逻辑分区)
命令查看i节点情况。
解决办法:删除占用i节点的空文件,
命令:
rm -rf / -empty -a -type f /opt 分区被web日志堆满了,导致一些服务无法正常运行,于是rm -rf掉这些日志(近11GB),但是服务仍没有恢复正常,用df -hT看,该分区占用还是100%:
[root@anjing opt]# df -hT
但是用 du -sh /opt命令,看到:
[root@anjing /]# du -sh /opt/
8.3G /opt/
应该是删除了这些文件,但是空间没有释放,当然重启可以解决目的,但是会造成服务器上所有业务中断,可使用下面命令查看删除文件占用情况:
[root@anjing opt]# lsof |grep delete
linux下磁盘占用达到100%了,找不到哪些大文件耗尽了磁盘的更多相关文章
- Linux下安装mysql5.6.11(找点有用的信息太费劲)(转)
Linux下安装mysql5.6.11(找点有用的信息太费劲) (2013-04-25 10:25:09) 1.申请阿里云Linux服务器 昨天在阿里云申请了一个免费试用5天的Linux云服务 ...
- linux 下 取进程占用内存(MEM)最高的前10个进程
# linux 下 取进程占用 cpu 最高的前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head # linux 下 取进程占用内存 ...
- 【转】Linux 下取进程占用 cpu/内存 最高的前10个进程
# Linux 下 取进程占用 cpu 最高的前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head # linux 下 取进程占用内存 ...
- linux下获取占用CPU资源最多的10个进程
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用 ...
- linux 下取进程占用 cpu/内存 最高的前10个进程
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ;|head linux下获取占用内存资源最多的10个进程,可以使用如下命令组合: ;|head 命令组合解析(针对CPU的,M ...
- Linux下查看占用CPU资源最多的几个进程
linux下获取占用CPU资源最多的10个进程: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用内存资源最多的10个进 ...
- linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用 ...
- (转)Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步
Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步原文:http://www.summerspacestation.com/linux%E4%B8%8B%E9%80 ...
- 查看Linux下系统资源占用常用命令(top、free、uptime)
本文介绍下,在linux中查看系统资源占用的三个命令:top.free.uptime,通过实例学习下它们的用法,有需要的朋友参考下 一,top命令 1.作用top命令用来显示执行中的程序进程,使用权限 ...
随机推荐
- 城乡联谊胡策会糊厕R3
因为时间关系这把没设计题面,而且居然还出了锅……T_T 信 原题是leetcode WeeklyContest52 的T1(懒得去找url了 随便搞,但是无解输-1 数字统计 原题PE603 记前n个 ...
- hdu_2089(数位dp)
hdu_2089(数位dp) 标签: dp 我初次接触数位dp表面上看上去挺简单,但是仔细学还是要考虑很多细节的.wa了无数次,这里引入一个 很好地博客 #include<cstdio> ...
- oracle ebs form开发总结
item的布局千万不要去乱动,只要调好长宽和y轴的坐标就好了.form内部集成了很多代码对布局进行动态的调整,而且有一些代码的长宽什么的还是写死了的,我们一动,form可能就识别不了了,然后就显示出来 ...
- [图像类名词解释][ RGB YUV HSV相关解释说明]
一.概述 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间.但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象.颜色空间按照基本机 ...
- Winform & Devexpress Chart使用入门
一.Chart(Winform) 使用图表控件(chart)首先要理解图表区域(ChartArea).XY轴(AxisX.AxisY).数据点(Series).标题(Title).图例(Legend) ...
- java中的分支结构 switch case的使用
switch(A),括号中A的取值只能是整型或者可以转换为整型的数值类型,比如byte.short.int.char.string(jdk1.7后加入)还有枚举:需要强调的是:long是不能用在swi ...
- 解决:mysql is blocked because of many connection errors;
标签:because service foreign errors closed 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http:// ...
- Uva 12171 Sculpture - 离散化 + floodfill
题目连接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- HTTP协议的简单介绍
前传:HTTP协议的演变过程 HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是 ...
- Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)
Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...