澳门太阳娱乐官方网站Linux服务器磁盘空间占满问题

下边大家风度翩翩道来看风度翩翩篇有关Linux服务器磁盘占满难点解决(/dev/sda3
满了卡塔尔,希望超出此类主题素材的人能带来扶助。

 

今天下班某电商技艺部leader开掘个难题,说他俩服务器硬盘满了。把日志文件都删掉了,可硬盘空间依旧满。于是df
-h查看了下各类挂载点的情景(如下图卡塔 尔(英语:State of Qatar)。

澳门太阳娱乐官方网站 1

/dev/sda3结党营私了百分百,那么大家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

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/*

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

但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 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呢?解决

[@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

 小建议:

从今未来管理相关主题材料时,假使发掘du 和df 大小不均等的情状,能够由此lsof
查看,也许能够找到一些冒出问题的原由,如果如故找不到标题,在允许的动静下无妨试一下重启服务,恐怕难题就缓和了。
重启服务得不到化解的境况下,可以通过卸载磁盘分区来试着解决。
在决定删除有个别文件前,最棒分明好这么些文件被怎样服务使用,先停掉那些劳动再删除,这样就少之甚少现身空间释放不了的动静了

 

linux磁盘挂载点目录占用情况(图卡塔 尔(英语:State of Qatar)

挂载点下的目录之和远低于4.5G,那么是何等占用了硬盘呢?

以下为该难点的解答:

在apache/tomcat服务在运转意况下,清空了运转服务的日记,进而产生了/dev/sda3
满了的主题材料。一般情况下,大大多服务(富含剧本卡塔 尔(英语:State of Qatar)在运营时,是无法去除当前正在写入的日志文件的。

规律深入分析:

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

2.
由此rm命令删除access.log,实际只删除了文件名(该日记文件应用记数不为0,由此空间不会被保释卡塔尔。

3.
因此rm命令删除了access.log后,apache依旧写日记到access.log中,当打开apache进程时,已经因此access.log定位到该公文的inode了,就是说再写日记是不通过access.log,因而纵然去除了access.log,apache如故写日记到access.log所在的inode节点,所导以致硬盘空间增添。

4.
因为除去了access.log,所以大家就找不到该文件了,du也查不到,就能现身硬盘满了但看不到终归是哪些文件占用的。

(写的不甚详细,不知晓的望族再google下。卡塔 尔(英语:State of Qatar)

斩尽杀绝办法:

重启该日记文件的连带服务或程序,如:为apache日志文件则重启apache(如下图,重启后才硬盘空间占用寻常卡塔尔国。

澳门太阳娱乐官方网站 2