Linux服务器磁盘空间占满问题

发布时间:2018-11-15  栏目:LINUX  评论:0 Comments

脚我们一道来拘禁同样首关于Linux服务器磁盘占满问题迎刃而解(/dev/sda3
满了),希望赶上此类题材的人口能够拉动帮助。

脚我们共来拘禁同样首关于Linux服务器磁盘占满问题迎刃而解(/dev/sda3
满了),希望赶上此类题材的人头能够带帮助。

 

 

今收工某电商技术部leader发现独问题,说她们服务器硬盘满了。把日志文件还删掉了,可硬盘空间依旧充满。于是df
-h查看了下依次挂载点的观(如下图)。

今日收工某电商技术部leader发现独问题,说他俩服务器硬盘满了。把日记文件还删掉了,可硬盘空间依旧充满。于是df
-h查看了产各个挂载点的光景(如下图)。

图片 1

图片 2

/dev/sda3占据了100%,那么我们du -s -h ./*看下目录的占用情况(如下图)。

/dev/sda3占有了100%,那么我们du -s -h ./*在押下目录的挤占情况(如下图)。

 

 

 

 

 在工作中,我们兴许会逢这样的题材,发现有磁盘空间快满了,于是,找到有不行的杀文件将该删除后,发现磁盘空间还是没有自由掉,这是呀来头吧?如何解决为?下面来再现一下方方面面经过:

 在工作中,我们恐怕会赶上这么的问题,发现某磁盘空间快满了,于是,找到有失效的不胜文件拿其去后,发现磁盘空间还是无放掉,这是啊由为?如何化解为?下面来再现一下举经过:

查阅磁盘空间情况

查看磁盘空间情况

 [@74.114 var]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda2            9.7G  284M  8.9G   4% /
/dev/xvda1            251M   13M  226M   6% /boot
none                  1.1G     0  1.1G   0% /dev/shm
/dev/xvda10            97G   60G   33G  65% /home
/dev/xvda3            3.9G  2.7G  1.1G  72% /usr
/dev/xvda5            3.9G  3.6G   77M  98% /var

 [@74.114 var]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda2            9.7G  284M  8.9G   4% /
/dev/xvda1            251M   13M  226M   6% /boot
none                  1.1G     0  1.1G   0% /dev/shm
/dev/xvda10            97G   60G   33G  65% /home
/dev/xvda3            3.9G  2.7G  1.1G  72% /usr
/dev/xvda5            3.9G  3.6G   77M  98% /var

var分区快满了,找到非常文件,并删除

var分区不久满了,找到好文件,并删除

[@74.114 var]# cd /var
[@74.114 var]# du –sh *
3.3G    account
111M    cache
53M     log
0       mail
156K    run
344K    spool

[@74.114 var]# rm –rf account/*

[@74.114 var]# cd /var
[@74.114 var]# du –sh *
3.3G    account
111M    cache
53M     log
0       mail
156K    run
344K    spool

[@74.114 var]# rm –rf account/*

df –h 看一下,却一如既往是/var 为98%,一点都没释放。

df –h 看一下,却仍旧是/var 为98%,一点都无释放。

[@74.114 var]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda2            9.7G  284M  8.9G   4% /
/dev/xvda1            251M   13M  226M   6% /boot
none                  1.1G     0  1.1G   0% /dev/shm
/dev/xvda10            97G   60G   33G  65% /home
/dev/xvda3            3.9G  2.7G  1.1G  72% /usr
/dev/xvda5            3.9G  3.6G   77M  98% /var

[@74.114 var]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda2            9.7G  284M  8.9G   4% /
/dev/xvda1            251M   13M  226M   6% /boot
none                  1.1G     0  1.1G   0% /dev/shm
/dev/xvda10            97G   60G   33G  65% /home
/dev/xvda3            3.9G  2.7G  1.1G  72% /usr
/dev/xvda5            3.9G  3.6G   77M  98% /var

但du –sh * 却显示没有大文件了

但du –sh * 却显示没有怪文件了

[@74.114  ~]# cd /var && du –sh *
120K    account
111M    cache
53M     log
0       mail
156K    run
344K    spool

猜测1:应该是抹的情节还是让进程占用,内存没释放,所以用lsof |grep – I
deleted 看了瞬间,发现如下:

[@74.114  ~]# cd /var && du –sh *
120K    account
111M    cache
53M     log
0       mail
156K    run
344K    spool

猜猜1:应该是抹的情还是为进程占用,内存没释放,所以用lsof |grep – I
deleted 看了瞬间,发现如下:

[@74.114 account]# lsof |grep -i deleted
listserve  4833           blty    0u      CHR     
136,2                    4 /dev/pts/2 (deleted)
listserve  4833           blty    1u      CHR     
136,2                    4 /dev/pts/2 (deleted)
listserve  4833           blty    2u      CHR     
136,2                    4 /dev/pts/2 (deleted)
Billing_P 16989           blty    0u      CHR     
136,0                    2 /dev/pts/0 (deleted)
Billing_P 16989           blty    1u      CHR     
136,0                    2 /dev/pts/0 (deleted)
Billing_P 16989           blty    2u      CHR     
136,0                    2 /dev/pts/0 (deleted)
Billing_P 16990           blty    0u      CHR     
136,0                    2 /dev/pts/0 (deleted)
Billing_P 16990           blty    1u      CHR     
136,0                    2 /dev/pts/0 (deleted)
Billing_P 16990           blty    2u      CHR     
136,0                    2 /dev/pts/0 (deleted)

[@74.114 account]# lsof |grep -i deleted
listserve  4833           blty    0u      CHR     
136,2                    4 /dev/pts/2 (deleted)
listserve  4833           blty    1u      CHR     
136,2                    4 /dev/pts/2 (deleted)
listserve  4833           blty    2u      CHR     
136,2                    4 /dev/pts/2 (deleted)
Billing_P 16989           blty    0u      CHR     
136,0                    2 /dev/pts/0 (deleted)
Billing_P 16989           blty    1u      CHR     
136,0                    2 /dev/pts/0 (deleted)
Billing_P 16989           blty    2u      CHR     
136,0                    2 /dev/pts/0 (deleted)
Billing_P 16990           blty    0u      CHR     
136,0                    2 /dev/pts/0 (deleted)
Billing_P 16990           blty    1u      CHR     
136,0                    2 /dev/pts/0 (deleted)
Billing_P 16990           blty    2u      CHR     
136,0                    2 /dev/pts/0 (deleted)

发觉时billing程序占用没释放,所以沟通项目经理将Billing_P停掉,重开,依然没自由其他空间。无果
猜测2:删除的文本是accout目录下之pacct文件,应该是由psacct产生与保管,重开这个顺序后是否会OK呢?解决

意识时billing程序占用没释放,所以沟通项目经理将Billing_P停掉,重开,依然没自由其他空间。无果
蒙2:删除的文书是accout目录下之pacct文件,应该是出于psacct产生及治本,重开这个序后是否会OK呢?解决

[@74.114 account]# /etc/init.d/psacct restart

[@74.114 account]# /etc/init.d/psacct restart

终极看一下磁盘空间,磁盘空间释放鸟~~

说到底看一下磁盘空间,磁盘空间释放鸟~~

[@74.114 var]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda2            9.7G  284M  8.9G   4% /
/dev/xvda1            251M   13M  226M   6% /boot
none                  1.1G     0  1.1G   0% /dev/shm
/dev/xvda10            97G   60G   33G  65% /home
/dev/xvda3            3.9G  2.7G  1.1G  72% /usr
/dev/xvda5            3.9G  100M   3.6M  4% /var

[@74.114 var]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda2            9.7G  284M  8.9G   4% /
/dev/xvda1            251M   13M  226M   6% /boot
none                  1.1G     0  1.1G   0% /dev/shm
/dev/xvda10            97G   60G   33G  65% /home
/dev/xvda3            3.9G  2.7G  1.1G  72% /usr
/dev/xvda5            3.9G  100M   3.6M  4% /var

 小建议:

 小建议:

其后处理相关题材常常,如果发现du 和df 大小不一致的景象,可以由此lsof
查看,也许得找到有产出问题的原故,如果要找不至题目,在允许的情状下非妨试一下再度开服务,也许问题不怕缓解了。
重新开服务得无至解决的状况下,可以通过卸载磁盘分区来试试看着解决。
以控制去某些文件前,最好确定好这个文件被怎样服务应用,先停少这些劳动更删除,这样便可怜少出现空间释放不了底情形了

尔后处理有关问题经常,如果发现du 和df 大小不一致之景,可以由此lsof
查看,也许可以找到有油然而生问题之因,如果要找不顶题目,在允许的景况下未妨试一下重新开服务,也许问题就缓解了。
重新开服务得无至解决之气象下,可以透过卸载磁盘分区来试试着解决。
于决定去某些文件前,最好确定好之文件被哪些服务使用,先停止少这些劳动更删除,这样虽很少出现空间释放不了的状态了

 

 

linux磁盘挂载点目录占用情况(图)

linux磁盘挂载点目录占用情况(图)

挂载点下之目的同多低于4.5G,那么是什么占用了硬盘也?

挂载点下的目的与极为小于4.5G,那么是啊占用了硬盘也?

以下为该问题之解答:

以下为该问题之解答:

于apache/tomcat服务以运转状态下,清空了运转服务之日记,从而导致了/dev/sda3
满了底问题。一般情况下,大多数服务(包括剧本)在运作时,是勿能够去除时正写入的日记文件的。

在apache/tomcat服务以运作状态下,清空了运转服务的日志,从而致使了/dev/sda3
满了之问题。一般景象下,大多数劳务(包括剧本)在运转时,是不克去除时着写入的日记文件之。

原理分析:

规律分析:

  1. 眼前access.log日志正在被apache进程占用。
  1. 当前access.log日志正在被apache进程占用。

2.
经rm命令去access.log,实际只有去了文件称(该日志文件应用记数不为0,因此空间不见面被放)。

2.
透过rm命令去access.log,实际只去了文本称(该日记文件应用记数不呢0,因此空间不会见于假释)。

3.
由此rm命令去了access.log后,apache依然写日记到access.log中,当打开apache进程时,已经通过access.log定位及拖欠公文之inode了,就是说再写日记是匪经access.log,因此便去除了access.log,apache依然写日记到access.log所于的inode节点,所以造成硬盘空间增加。

3.
由此rm命令去了access.log后,apache依然写日记到access.log中,当被apache进程时,已经经过access.log定位及拖欠公文之inode了,就是说再写日记是勿经过access.log,因此便去除了access.log,apache依然写日记到access.log所当的inode节点,所以造成硬盘空间增加。

4.
为去了access.log,所以我们不怕寻找不顶拖欠公文了,du也查看不交,就会面世硬盘满了而看不到究竟是怎文件占用的。

4.
为除去了access.log,所以我们尽管摸索不顶拖欠公文了,du也查阅不交,就见面产出硬盘满了而看不到究竟是哪些文件占用的。

(写的非酷详细,不明了的大家又google下。)

(写的未死详细,不亮的望族再次google下。)

釜底抽薪办法:

釜底抽薪办法:

再次开该日记文件的有关服务或者程序,如:为apache日志文件则又启apache(如下图,重开后才硬盘空间占用正常)。

再开该日记文件之相干服务或程序,如:为apache日志文件则重复启apache(如下图,重开后才硬盘空间占用正常)。

图片 3

图片 4

留下评论

网站地图xml地图