日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

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

發布時間:2023/12/18 linux 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (转)Linux服务器磁盘空间占满问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:https://www.cnblogs.com/cindy-cindy/p/6796684.html


下面我們一起來看一篇關于Linux服務器磁盤占滿問題解決(/dev/sda3 滿了),希望碰到此類問題的人能帶來幫助。

今天下班某電商技術部leader發現個問題,說他們服務器硬盤滿了。把日志文件都刪掉了,可硬盤空間依舊滿。于是df -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

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磁盤掛載點目錄占用情況(圖)

掛載點下的目錄之和遠小于4.5G,那么是什么占用了硬盤呢?

以下為該問題的解答:

在apache/tomcat服務在運行狀態下,清空了運行服務的日志,從而導致了/dev/sda3 滿了的問題。一般情況下,大多數服務(包括腳本)在運行時,是不能刪除當前正在寫入的日志文件的。

原理分析:

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下。)

解決方法:

重啟該日志文件的相關服務或程序,如:為apache日志文件則重啟apache(如下圖,重啟后才硬盤空間占用正常)。

轉載于:https://www.cnblogs.com/xiaouisme/p/8671349.html

總結

以上是生活随笔為你收集整理的(转)Linux服务器磁盘空间占满问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。