在linux中,当我们运用rm在linux上删除了大文件,然而一旦有经过张开了这些大文件,却从未关闭这一个文件的句柄,那么linux内核依旧不会自由这几个文件的磁盘空间,最后导致磁盘空间占用百分之百,整个系统不大概正常运营。这种境况下,通过df和du命令查找的磁盘空间,两个是心有余而力不足合营的,恐怕df突显磁盘百分百,而du查找目录的磁盘容积占用却不大。

释放 Linux
系统留住的硬盘空间 

今天在张开Zabbix查看时,发掘Zabbix
Server机器上的硬盘在长时间内疯狂拉长了40G左右,如下图:

当磁盘被某大文件占满时,而且此大文件正在被有个别进度读写并攻克着,此时不可能删除和置空此文件,只好先找到占用大文件的经过,然后终止进度,最前置空此文件。

遇到这种状态,基本得以判明是有个别大文件被一些程序占用了,并且那些大文件已经被剔除了,然则相应的文书句柄未有被一些程序关闭,变成基本不能够回收那个文件占用的上空。

绝大繁多文件系统都会保留部分空中留作迫切情状时用(譬如硬盘空间满了),那样能确认保证有个别首要应用(举例数据库)在硬盘满的时候有些余地,不致于霎时就
crash,给监控系统和领队一点光阴去发掘。不过不时候那某些留下的硬盘空间不用的话有一点浪费。如何释放这一部分类别留住的半空中吗?

图片 1

实举个例子下:在/boot分区中成立大文件test,将boot分区的磁盘占满,通过其余一个极端进入主机,vim编辑此test文件,模拟大文件被vim进度占用,然后删除和清空此test文件。

那么,怎样搜索这些文件被有个别程序占用呢,命令如下

在 Linux ext2/ext3/ext4 文件系统上经常私下认可预留5%的硬盘空间,即使硬盘是
4TB 的话就象征有 200GB 的长空就这么浪费了,大家得以因此 tune2fs
来退换5%的暗中同意设置,比方只留下1%的空中。好还是倒霉设成0%吗?当然能够,可是不引入。

        在Zabbix
Server中查看磁盘情形开掘,根目录下的空间比此前增进了好些个:[root@zabbix
~]# df -ha

终端1
[root@CentOS7 ~]# df
-h  /boot/                                    #查阅boot分区大小
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1      997M  110M  887M  12% /boot
[root@centos7 ~]# dd  if=/dev/zero of=/boot/test bs=1M count=900     
#创立900M文书,占满磁盘
dd: error writing ‘/boot/test’:  No space left on device
887+0 records in
886+0 records out
930058240 bytes (930 MB)  copied, 13.166 s, 70.6 MB/s
[root@centos7 ~]#
Linux磁盘空间短时间被未知资源大量占用情况处理,Linux磁盘空间占满故障解决方法。 
终端2在成立好大文件后,启用终端2,vim编辑此文件,模拟此文件被挤占

lsof -n | grep deleted
COMMAND     PID      USER   FD      TYPE             DEVICE        SIZE       NODE NAME
dd        31708      higkoo    1w      REG                8,2 5523705856     429590 /data/filetest (deleted)

 

图片 2

[root@centos7boot]# vim test
1
~                                                                       
                                                                       
                                           
~   

一声令下打lsof -n | grep
deleted印出富有针对已删除文件的读写操作,这类操作是不著见效的,相当于磁盘空间莫名消失的根本原因

查看当前硬盘空间情状:

         
因为不理解具体的占领空间的文本路径所在,所以不得不用命令八个索引两个索引地拓展查看,最终通过du
-sh
命令查到/var/log/httpd目录占用空间十二分:

回去终端第11中学举行删减文件

备注:本人碰着的气象是同事删除了mysql的表,可是是在shell上施行rm表的公文,而不是通过drop
table之类的下令去删除表的,于是mysql会平昔攻下这个表文件的句柄,末了导致磁盘空间100%,这种意况下,也不用重启mysql,只要进入mysql客户端推行flush
tables就行了。

图片 3

[root@zabbix log]# du -sh httpd
45G httpd
[root@zabbix log]# cd httpd
[root@zabbix httpd]# ll
total 46988080
-rw-r–r– 1 root root    47057993 Apr 16 09:56 access_log
-rw-r–r– 1 root root   226646121 Apr 15 04:02 access_log.1
-rw-r–r– 1 root root      413726 Apr  6 18:10 access_log.2
-rw-r–r– 1 root root 47794017962 Apr 16
09:51 error_log
-rw-r–r– 1 root root      593962 Apr 15 04:02 error_log.1
-rw-r–r– 1 root root       31425 Apr  8 04:02 error_log.2

[root@centos7 ~]# rm -rf/boot/test                           
#没辙删除此大文件
[root@centos7 ~]# df -h /boot                           
#察觉此大文件并未有被剔除
Filesystem      Size Used Avail Use% Mounted on
/dev/sda1      997M 997M  20K 100% /boot
[root@centos7 ~]# >/boot/test                         
#置空此大文件并未被置空
-bash: /boot/test: No spaceleft on device
[root@centos7 ~]# df -h /boot
Filesystem      Size Used Avail Use% Mounted on
/dev/sda1      997M 997M  20K 100% /boot
[root@centos7 ~]# lsof |grep/boot/test
vim      6562        root  3r      REG                8,1 930045952   
456127 /boot/test
root@centos7 ~]# kill 6562                             
#杀死此vim的进程
[root@centos7 ~]# >/boot/test                         
#置空此文件
[root@centos7 ~]# df -h /boot                         
#注脚开掘此文件已经被清空
Filesystem      Size Used Avail Use% Mounted on
/dev/sda1      997M 110M  887M  12% /boot
[root@centos7 ~]# rm -rf/boot/test                   
#然后删除此文件
[root@centos7 ~]# ll/boot/test
ls: cannot access/boot/test: No such file or directory

以上那篇Linux磁盘空间被未知能源耗尽的消除办法正是笔者分享给大家的全体内容了,希望能给大家三个参照他事他说加以调查,也目的在于大家多多协助脚本之家。

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud22-lv_root
                       32G  1.1G   30G   4% /
tmpfs                  24G     0   24G   0% /dev/shm
/dev/sda1             485M   68M  392M  15% /boot
/dev/mapper/vg_cloud22-lv_home
                      3.2G   70M  2.9G   3% /home
/dev/sdd1            1008G  161G  797G  17% /var/cloud

       
看到那儿,才想起,在此之前为了测试zabbix与weathermap的重组测试,装了weathermap,因为其主要性是与cacti结合使用的,所以一直报错,恐怕是因为这个原因吗,无论怎样,先拍卖了它,将其目录删除,然后又手动删除了/var/log/httpd内的文本:rm -rf /var/log/httpd/*

本文长久更新链接地址:http://www.linuxidc.com/Linux/2017-08/146459.htm

网站地图xml地图