菜单

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

2018年11月16日 - LINUX

下面我们一道来拘禁无异首关于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地图