(轉)Linux服務器磁盤空間占滿問題

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


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

今天下班某電商技術部leader發現個問題,說他們服務器硬盤滿了。把日志文件都刪掉了,可硬盤空間依舊滿。于是df -h查看了下各個掛載點的狀況(如下圖)。

/dev/sda3 滿了

/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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453120.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453120.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453120.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機組成原理2套題,計算機組成原理試卷及答案2套.doc

計算機組成原理試卷A一、 選擇題(每小題2分,共30分)1. 下列數中最小的數是______。A.(100100)2 B.(43)8 C.(110010)BCD D.(25)162. 計算機經歷了從器件角度劃分的四代發展歷程,但從系統結構上來看,至今絕大多數計算機仍…

改變您一生的90/10原理

了解并運用由Stephen Covey發現的90/10原理,您的一生或許會有所改變,至少,您對待事情的態度會與以前不一樣了。 什么是90/10原理?即在您的一生中,只有10%的事情您無能為力,而90%的事情都在您的把握之中。 我…

透明網橋

所謂“透明網橋”是指,它對任何數據站都完全透明,用戶感覺不到它的存在,也無法對網橋尋址。所有的路由判決全部由網橋自己確定。當網橋連入網絡時,它能自動初始化并對自身進行配置。 透明網橋以混雜方式工作,它接收與…

vue用阿里云oss上傳圖片使用分片上傳只能上傳100kb以內的解決辦法

首先,vue和阿里云oss上傳圖片結合參考了 這位朋友的 https://www.jianshu.com/p/645f63745abd 文章,成功的解決了我用阿里云oss上傳圖片前的一頭霧水。 該大神文章里有寫github地址,里面的2.0分支采用vue2.0實現,只不過這個上傳圖…

iphone11右上角信號顯示_蘋果iOS11信號強度的標志變了意味著什么?

原標題:蘋果iOS11信號強度的標志變了意味著什么?在iOS 11測試版中,蘋果將狀態欄中表示 LTE信號強度的5個小圓點換成了4 個豎狀條。從 iOS 7 到 iOS 10蘋果就一直使用小圓點標志信號強度設計,而這次的改變也意味著范圍的變化。這到底是什么意…

計算機二級access選擇題技巧,計算機二級access考試注意事項及解題技巧策略

計算機二級access考試注意事項及解題技巧策略2017年計算機考試將至,今天yjbys小編為大家帶來了計算機二級access考試注意事項及解題技巧哦!快點行動起來吧~考試注意事項1.考試時間:120分鐘(即2小時)2.考試類型:上機操作 (總分100分&#xff0…

【uoj#37/bzoj3812】[清華集訓2014]主旋律 狀壓dp+容斥原理

題目描述 求一張有向圖的強連通生成子圖的數目對 $10^97$ 取模的結果。 題解 狀壓dp容斥原理 設 $f[i]$ 表示點集 $i$ 強連通生成子圖的數目,容易想到使用總方案數 $2^{sum[i]}$ 減去不為強連通圖的方案數得到強連通圖的方案數,其中 $sum[i]$ 表示點集 $…

交換機實現虛擬局域網

但由于它是邏輯地而不是物理地劃分,所以同一個 VLAN內的各個工作站無須被放置在同一個物理空間里,即這些工作站不一定屬于同一個物理LAN網段。一個VLAN內部的廣播和單播流量都不會轉發到其他 VLAN中,即使是兩臺計算機有著同樣的網段&#xff…

產品與項目

產品和項目到底有什么區別,擴展開說,做產品和做項目最大的不同在哪里?產品經理和項目經理(都是PM,有時候自己都搞不清說的哪一個)職責的不同在哪里?一直困擾了我很長時間,直到2007年…

python斐波那契前20遞歸_算法python實現經典遞歸問題(漢諾塔, 斐波那契數列,階乘)...

經典遞歸漢諾塔問題背景故事傳說印度某間寺院有三根柱子,上串64個金盤。寺院里的僧侶依照一個古老的預言,以上述規則移動這些盤子;預言說當這些盤子移動完畢,世界就會滅亡。這個傳說叫做梵天寺之塔問題(Tower of Brahma puzzle)。…

Hello This Cruel World!

第一天,已經成為了半年的OIer,仍然是個蒟蒻,希望以后能夠變強! 在OJ和博客的常用網名: TimeTraveller ->洛谷 VictoryCzt ->csdn,cnblog等 Czt Czttt czt ->OJ CrazyTea CrazyTeaMajor 游戲,QQ…

計算機系統的部件名稱作用,電腦配件與每個配件作用詳細完整的解釋

電腦各配件的具體功能和特性說起來很長,先簡單介紹一下。一臺個人臺式電腦的主要配件有:1.主板:也叫母板,是連接CPU、內存、AGP等電腦配件的最主要最基本的載體,主板的結構類型決定電腦各配件的結構和類型,…

信道效率以及信道的吞吐率

信道的效率即為信道的利用率,是指發送方在一個發送周期的時間內,有效的發送數據所需要的時間占整個發送周期的比率。 例如,發送方從開始發送數據,到收到第一個確認幀為止,稱為一個周期,設為T。發送方在這個周期內共發…

jquery兄弟標簽_js jquery獲取當前元素的兄弟級 上一個 下一個元素

var chils s.childNodes; //得到s的全部子節點var pars.parentNode; //得到s的父節點var nss.nextSbiling; //獲得s的下一個兄弟節點var pss.previousSbiling; //得到s的上一個兄弟節點var fcs.firstChild; //獲得s的第一個子節點var lcs.lastChile; //獲得s的最后一…

將本地代碼備份到Github public repository

1. 在本地代碼所在的文件夾中初始化,即打開powershell,輸入下面命令 git init 此時本地文件夾中會出現一個.git的隱藏文件夾。 2. 然后將當前的文檔commit,在本地commit之前可以先加一個.gitignore文件,忽略一些不必要的文件&…

推辭掉得不是你的工作,而是你的未來

在民營企業,年輕人無疑是主力,為什么年紀相仿,他是經理,我卻是職員?相信對此憤恨不平的大有人在!說什么人家后臺硬、或者別人嘴巴甜,恨自己生不逢時、怨自己出身平凡的居多,相反檢討…

路考計算機系統評判,科目三智能考試有效解決路考舞弊行為

科目三智能考試是指通過在考試車輛上加裝計算機、定位系統、傳感器、音視頻采集等設備實現對考試項目的自動化評判,代替原來人工評判,且記錄考試過程的音視頻資料,提供考試過程回放等相關功能。科目三自動化考試減少了人為因素對考試過程的干…

跟我一起玩Win32開發(20):瀏覽文件夾

最近忙于一些相當無聊的事情,還沒忙完,不過,博客還是要寫的,不然我頭頂上會多了幾塊磚頭。 在上一篇博文中,我們瀏覽了文件,今天我們也瀏覽一下目錄,如何? 瀏覽目錄我們同樣有兩個規…