最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux磁盤空間釋放問題整理

 更新時間:2020年12月31日 10:42:33   作者:良許  
在本篇文章里小編給大家分享了一篇關(guān)于Linux磁盤空間釋放問題整理內(nèi)容,有需要的朋友們可以學習參考下。

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

[root@linux-node1 ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup00-LogVol00 58G 7.8G 47G 100% /tmpfs 1.9G 0 1.9G 0% /dev/shm/dev/vda1 190M 72M 108M 40% /boot

原因分析

在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ā)不可預知的問題。

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

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

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

# echo " " > /home/wangshibo.logb)# cat /dev/null > /home/wangshibo.logc)# > /home/wangshibo.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 deleted4.殺死這些文件的delete進程, 釋放空間: lsof -n /data |grep deleted|awk '{print $2}'|xargs kill -95.接著再運行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%的默認設(shè)置,比如只預留2%的空間。但是不建議設(shè)成0%,現(xiàn)實環(huán)境中這樣做不安全。

# df -TFilesystem Type 1K-blocks Used Available Use% Mounted on/dev/vda1 ext4 41151808 4962148 34076228 13% /devtmpfs devtmpfs 1931468 0 1931468 0% /devtmpfs tmpfs 1941204 0 1941204 0% /dev/shmtmpfs tmpfs 1941204 652 1940552 1% /runtmpfs tmpfs 1941204 0 1941204 0% /sys/fs/cgrouptmpfs tmpfs 388244 0 388244 0% /run/user/0[root@ss-server ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/vda1 40G 4.8G 33G 13% /devtmpfs 1.9G 0 1.9G 0% /devtmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs 1.9G 620K 1.9G 1% /runtmpfs 1.9G 0 1.9G 0% /sys/fs/cgrouptmpfs 380M 0 380M 0% /run/user/0

比如上面"/"分區(qū)是ext4文件系統(tǒng),默認系統(tǒng)預留了5%也就是2G的空間?,F(xiàn)在可以通過"tune2fs"命令將系統(tǒng)預留空間改為2%。

# tune2fs -m 2 /dev/vda1tune2fs 1.42.9 (28-Dec-2013)Setting reserved blocks percentage to 2% (209704 blocks)

執(zhí)行后,發(fā)現(xiàn)"/"分區(qū)騰出了1G的空間,這時系統(tǒng)預留空間也就是2%了。

[root@ss-server ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/vda1 40G 4.8G 34G 13% /devtmpfs 1.9G 0 1.9G 0% /devtmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs 1.9G 620K 1.9G 1% /runtmpfs 1.9G 0 1.9G 0% /sys/fs/cgrouptmpfs 380M 0 380M 0% /run/user/0

到此這篇關(guān)于Linux磁盤空間釋放問題整理的文章就介紹到這了,更多相關(guān)Linux磁盤空間釋放內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在linunx系統(tǒng)中搭建靜態(tài)文件服務(wù)的流程步驟

    在linunx系統(tǒng)中搭建靜態(tài)文件服務(wù)的流程步驟

    在服務(wù)器上有一些文件,想共享給其他用戶下載,同時因為ftp和sftp被禁用,且使用起來不太方便,需要找一種搭建成本低,安全高效的方式來完成此功能,因此linux上的httpd服務(wù)是一個很好的選擇,所以本文給大家介紹了在linux系統(tǒng)中搭建靜態(tài)文件服務(wù)的流程步驟
    2024-02-02
  • 探究一個LED如何入門Linux內(nèi)核

    探究一個LED如何入門Linux內(nèi)核

    內(nèi)核那么大,從哪看啊?能看懂嗎?其實這種場景在腦海里不止一次地發(fā)生過了,興趣和困難進行猛烈地撞擊,意志力稍強,會有所突破,靜下心來研究,可能會有所收獲
    2021-08-08
  • shell腳本設(shè)置防止暴力破解ssh

    shell腳本設(shè)置防止暴力破解ssh

    大家好,本篇文章主要講的是shell腳本設(shè)置防止暴力破解ssh,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Linux 命令查詢小程序中的 WePY 云開發(fā)實踐

    Linux 命令查詢小程序中的 WePY 云開發(fā)實踐

    這篇文章主要介紹了云開發(fā)與 WePY,快速實現(xiàn) Linux 命令查詢小程序,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • Apache James配置連接達夢數(shù)據(jù)庫的步驟

    Apache James配置連接達夢數(shù)據(jù)庫的步驟

    本文介紹了如何配置Apache James郵件服務(wù)器以連接達夢數(shù)據(jù)庫,包括導入JDBC驅(qū)動、修改配置文件和SQL語句,并提供了解決啟動報錯的方法
    2024-09-09
  • Linux INotif機制詳解及實例代碼

    Linux INotif機制詳解及實例代碼

    這篇文章主要介紹了Linux INotif機制詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Linux下關(guān)于coredump的定位方法說明

    Linux下關(guān)于coredump的定位方法說明

    這篇文章主要介紹了Linux下關(guān)于coredump的定位方法說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 在Ubuntu/Linux環(huán)境下使用MySQL開放/修改3306端口和開放訪問權(quán)限

    在Ubuntu/Linux環(huán)境下使用MySQL開放/修改3306端口和開放訪問權(quán)限

    這篇文章主要介紹了在Ubuntu/Linux環(huán)境下使用MySQL開放/修改3306端口和開放訪問權(quán)限,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Nginx+PHP+MySQL雙機互備、全自動切換方案

    Nginx+PHP+MySQL雙機互備、全自動切換方案

    在生產(chǎn)應用中,某臺“Nginx+PHP+MySQL”接口數(shù)據(jù)服務(wù)器,扮演的角色十分重要,如果服務(wù)器硬件或Nginx、MySQL發(fā)生故障,而短時間內(nèi)無法恢復,后果將非常嚴重。為了避免單點故障,我設(shè)計了此套方案,編寫了failover.sh腳本,實現(xiàn)了雙機互備、全自動切換,故障轉(zhuǎn)移時間只需幾十秒。
    2008-12-12
  • 詳解Centos7.2安裝Nginx實現(xiàn)負載平衡

    詳解Centos7.2安裝Nginx實現(xiàn)負載平衡

    本篇文章主要介紹了詳解Centos7.2安裝Nginx實現(xiàn)負載平衡,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03

最新評論

钟山县| 丽水市| 嘉善县| 宜阳县| 昭平县| 四会市| 荔波县| 上栗县| 青田县| 囊谦县| 巴林右旗| 阿拉善盟| 华坪县| 岳西县| 宾川县| 读书| 南陵县| 平湖市| 胶州市| 鲁甸县| 香河县| 呼图壁县| 乌拉特中旗| 莱芜市| 富裕县| 固原市| 江阴市| 淮北市| 美姑县| 兴国县| 西华县| 百色市| 蒲城县| 大竹县| 桂林市| 新巴尔虎左旗| 青岛市| 江阴市| 阜新市| 富川| 全州县|