好男人好资源在线观看免费视频,国产又爽又黄又不遮挡视频,国产亚洲欧美另类精品久久久,国产精品99久久久久久猫咪,国产综合久久久久久鬼色

廣告

Linux磁盤空間釋放解決步驟

2023-12-11

問題說明
IDC里的一臺服務器的/分區(qū)使用率爆滿了!已達到100%!經(jīng)查看發(fā)現(xiàn)有個文件過大(80G),于是在跟有關(guān)同事確認后rm -f果斷刪除該文件。但是發(fā)現(xiàn)刪除該文件后,/分區(qū)的磁盤空間壓根沒有釋放出來,使用率還是100%!這是為什么呢??

[root@linux]# df -hFilesystem

df -hFilesystem

原因分析:
在Linux系統(tǒng)中,通過rm或者文件管理器刪除文件,只是將它會從文件系統(tǒng)的目錄結(jié)構(gòu)上解除鏈接(unlink),也就是說只是刪除了文件和系統(tǒng)目錄結(jié)構(gòu)的鏈接;如果文件在刪除時是被打開的(有一個進程正在使用該文件,文件被進程鎖定或者有進程一直在向這個文件寫數(shù)據(jù)等)狀態(tài),那么進程將仍然可以讀取該文件,也就是說沒有刪除掉文件在讀取的狀態(tài),所以磁盤空間也就會一直被占用。

一個文件在文件系統(tǒng)中的存放分為兩個部分:數(shù)據(jù)部分和指針部分,指針位于文件系統(tǒng)的meta-data中,數(shù)據(jù)被刪除后,這個指針就從meta-data中清除了,而數(shù)據(jù)部分存儲在磁盤中,數(shù)據(jù)對應的指針從meta-data中清除后,文件數(shù)據(jù)部分占用的空間就可以被覆蓋并寫入新的內(nèi)容,之所以出現(xiàn)刪除文件后,空間還沒釋放,就是因為有進程還在一直向這個文件寫入內(nèi)容,導致雖然刪除了文件,但文件對應的指針部分由于進程鎖定,并未從meta-data中清除,而由于指針并未被刪除,那么系統(tǒng)內(nèi)核就認為文件并未被刪除,因此通過df命令查詢空間并未釋放也就不足為奇了。

解決措施有以下幾種
1.通過lsof|grep deleted命令獲取到已經(jīng)被刪除但是仍然被應用程序占用的文件列表,然后kill掉還在占用所刪除文件的進程。需要注意的是:如果有很多進程都在使用所刪除文件,那么采用第1種方式kill進程就有點麻煩了,而且風險也比較大。因為kill進程是通過截斷proc文件系統(tǒng)中的文件可以強制要求系統(tǒng)回收分配給正在使用的的文件。必須要確定不會對運行中的進程造成影響時才能使用,應用程序?qū)@種方式支持的并不好,當一個正在使用的文件被截斷可能會引發(fā)不可預知的問題。

通過lsof|grep deleted命令獲取到已經(jīng)被刪除但是仍然被應用程序占用的文件列表

殺掉filebeat進程后磁盤空間恢復

 

2,或停掉或重啟使用這個所刪除文件的應用,讓OS自動回收磁盤空間。

3,也可以重啟操作系統(tǒng),不過這并不是最好的方法

4,對待這種進程不停對文件寫日志的操作,要釋放文件占用的磁盤空間,最好的方法是在線清空這個文件。通過這種方法,磁盤空間不但可以馬上釋放,也可保障進程繼續(xù)向文件寫入日志。

在線清空文件(比如/home/111.log)的方式:

a)# echo " " > /home/111.log

b)# cat /dev/null > /home/111.log

c)# > /home/111.log

還有一種磁盤空間使用問題的現(xiàn)象:明明使用df -h命令查看磁盤空間使用率不算高,還有很多空余空間,但是創(chuàng)建文件或?qū)懭霐?shù)據(jù)時一直報錯磁盤寫滿:” no space left on device”!

一般這種問題都是由于分區(qū)目錄下deleted刪除后的資源空間沒有真正釋放出來導致的, 具體處理流程如下:

1.先df -lh查看一下磁盤使用狀況, 發(fā)現(xiàn)/data分區(qū)下的Used已用空間很大, 但是實際查看并沒有占用那么大的空間!

2.找到被刪除文件所在的分區(qū), 比如/data分區(qū)

3.查看被刪除了的所有文件:lsof -n /data |grep deleted

4.殺死這些文件的delete進程, 釋放空間: lsof -n /data |grep deleted|awk ‘{print $2}’|xargs kill -9

5.接著再運行l(wèi)sof -n /data |grep delete,應該就沒有結(jié)果了。

6.注意: 剛殺死deleted進程時, df -h查看/data 分區(qū), Used已用空間可能時瞬間顯示過大, 但隨著deleted進程殺死, 資源逐漸釋放, /data分區(qū)下的Used已用空間會逐漸變小, Avail可用空間會逐漸變大)

大多數(shù)文件系統(tǒng)都會保留一部分空間留作緊急情況時用(比如硬盤空間滿了),這樣能保證有些關(guān)鍵應用(比如數(shù)據(jù)庫)在硬盤滿的時候有點余地,不致于馬上就 crash,給監(jiān)控系統(tǒng)和管理員一點時間去察覺。不過有時候這部分預留的硬盤空間不用的話有點浪費。

在Linux系統(tǒng)中,ext2、ext3、ext4文件系統(tǒng)上通常會默認預留5%的磁盤空間,比如磁盤如果是2TB,這就意味著有100GB的空間會被預留下來,這樣的話會不會顯得有點浪費了。可以通過”tune2fs”命令來改變5%的默認設置,比如只預留2%的空間。但是不建議設成0%,現(xiàn)實環(huán)境中這樣做不安全。

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明出處!

上一篇:Linux的bond模式綁定及模式區(qū)別

下一篇:Linux查看端口占用情況

這條幫助是否解決了您的問題?已解決未解決

提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!很抱歉未能解決您的疑問。我們已收到您的反饋意見,同時會及時作出反饋處理!

立即注冊91VPS賬號,免費體驗多款產(chǎn)品
立即注冊
聯(lián)系我們
全國咨詢熱線:
0712-5319406
QQ客服:
800193021
91VPS微信客服

掃碼聯(lián)系微信客服