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

rm -rf之后磁盤空間沒有釋放的解決方法

 更新時間:2021年10月21日 15:21:39   作者:愛琴孩  
本文主要介紹了rm -rf之后磁盤空間沒有釋放的解決方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

rm -rf之后就高枕無憂了?

現(xiàn)在運營的平臺采用的是微服務(wù)架構(gòu),部署的服務(wù)較多,開發(fā)環(huán)境一臺服務(wù)器上部署幾十個服務(wù)是很正常的,之前用CI構(gòu)建部署的時候,發(fā)現(xiàn)磁盤滿了。我的處理方式是:先刪了 /tmp/ 目錄, 空閑出部分空間,然后檢查下幾個常用的用戶目錄,發(fā)現(xiàn)幾個日志文件占用了好幾個大G,由于是開發(fā)環(huán)境,所以就直接刪除, 于是 rm之后就天真地認(rèn)為萬事大吉了...

然而過幾天后,又有同事發(fā)現(xiàn)該機(jī)器磁盤又滿了,驚呼奇怪咋這么快又滿了。最終發(fā)現(xiàn)是上次 rm后,占用好幾個大G的日志文件被刪除之后,磁盤空間并沒有釋放。Linux系統(tǒng)中是通過link的數(shù)量來控制文件刪除的,只有當(dāng)一個文件不存在任何link的時候,這個文件才會被刪除。一般來說,每個文件都有2個link計數(shù)器:i_count 和 i_nlink,也就是說:Linux系統(tǒng)中只有i_nlink及i_count都為0的時候,這個文件才會真正被刪除。 

  • i_count表示當(dāng)前文件使用者(或被調(diào)用)的數(shù)量
  •  i_nlink表示介質(zhì)連接的數(shù)量(硬鏈接的數(shù)量);

可以理解為i_count是內(nèi)存引用計數(shù)器,i_nlink是磁盤的引用計數(shù)器。 當(dāng)一個文件被某一個進(jìn)程引用時,對應(yīng)i_count數(shù)就會增加;當(dāng)創(chuàng)建文件的硬鏈接的時候,對應(yīng)i_nlink數(shù)就會增加。在Linux或者Unix系統(tǒng)中,通過rm或者文件管理器刪除文件,只是將它會從文件系統(tǒng)的目錄結(jié)構(gòu)上解除鏈接(unlink),實際上就是減少磁盤引用計數(shù)i_nlink,但是并不會減少i_count數(shù)。如果一個文件正在被某個進(jìn)程調(diào)用,用戶使用rm命令把文件"刪除"了,這時候通過ls等文件管理命令就無法找到這個文件了,但是并不意味著這個文件真正的從磁盤上刪除了。因為還有一個進(jìn)程在正常的執(zhí)行,在向文件中讀取或?qū)懭?,也就是說文件其實并沒有被真正的"刪除",所以磁盤空間也就會一直被占用。當(dāng)服務(wù)進(jìn)程停止(文件句柄的引用計數(shù)會變?yōu)?)或者重啟后,占用的存儲空間才被釋放。如果不知道具體進(jìn)程或文件名的話:lsof | grep deleted,這樣會查找所有被刪除的但是文件句柄沒有釋放的文件和相應(yīng)的進(jìn)程,然后再kill掉進(jìn)程或者重啟進(jìn)程即可。

其實可以簡單用修改文件內(nèi)容的方式(例如echo "test">test.log)在不用重啟進(jìn)程的情況下釋放空間。

du和ls的區(qū)別

對于某個日志文件,直接用echo "test" > yyzx_tradingcenterservice.log.2020-06-03.log,然后 df 確認(rèn)磁盤空間確實已經(jīng)釋放,分別執(zhí)行下面的命令:

[dev@tjptdebug-no yyzx_tradingcenterservice_logs]$ du -h  yyzx_tradingcenterservice.log.2020-06-03.log 
4.0K	yyzx_tradingcenterservice.log.2020-06-03.log
[dev@tjptdebug-no yyzx_tradingcenterservice_logs]$ ll -h  yyzx_tradingcenterservice.log.2020-06-03.log
-rw-rw-r-- 1 dev dev 7 Jul  8 19:49 yyzx_tradingcenterservice.log.2020-06-03.log

ls 的結(jié)果是 apparent sizes,我的理解是文件長度,就類似文件系統(tǒng)中 file 這個數(shù)據(jù)結(jié)構(gòu)中的定義文件長度的這個字段,du 的結(jié)果 disk usage,即真正占用存儲空間的大小,且默認(rèn)度量單位是 block。block 為磁盤存儲的基本的單位,方便磁盤尋址等,而此處的block可以理解為一個邏輯單位,且一個文件除了包括數(shù)據(jù)外,還需要存儲描述此文件的其他信息,因此包含1個字節(jié)的文件實際在磁盤中占用的存儲空間不止1個字節(jié)。

總結(jié)

du == disk usage (磁盤使用量,占用的磁盤空間)
ls == apparent sizes(文件長度,file數(shù)據(jù)結(jié)構(gòu)中定義的文件長度字段)
一個文件占用的磁盤空間和一個文件的大小是兩碼事情。占用空間取決于文件系統(tǒng)的塊(block)的大小,Linux一般默認(rèn)是4k(4096) ,因此,一個大小為1個字節(jié)的文件,最小也要占用4k,如果你創(chuàng)建文件系統(tǒng)的時候制定塊大小是16K,那么即便一個文件只有1個字節(jié),占用空間也是16K。通常情況下,ls 顯示的文件大小比du顯示的磁盤占用空間小,比如文件系統(tǒng)的block是4K,一個13K的文件占用的空間是 13k/4k = 3.25 個block,一個block只能被一個文件占用,因此實際占用空間就是4個block,就是16K。

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

相關(guān)文章

  • Linux 中(加、減、乘、除)實例詳解

    Linux 中(加、減、乘、除)實例詳解

    這篇文章主要介紹了 Linux 中(加、減、乘、除)實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Shell命令之?dāng)?shù)組表示語法學(xué)習(xí)

    Shell命令之?dāng)?shù)組表示語法學(xué)習(xí)

    這篇文章主要為大家介紹了Shell命令之?dāng)?shù)組表示語法學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Linux Shell Map的用法詳解

    Linux Shell Map的用法詳解

    這篇文章主要介紹了Linux Shell Map的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 2022最新vmstate?命令詳解

    2022最新vmstate?命令詳解

    這篇文章主要介紹了vmstate?命令詳解2022,主要包括使用vmstat命令的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • linux查看所有用戶和查看用戶組的方法(修改用戶組)

    linux查看所有用戶和查看用戶組的方法(修改用戶組)

    linux里并沒有像windows的net user,net localgroup這些方便的命令來管理用戶,下面介紹查看所有用戶和用戶組的方法
    2014-01-01
  • shell腳本--sed的用法詳解

    shell腳本--sed的用法詳解

    這篇文章主要介紹了shell腳本--sed的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • linux生成(加載)動態(tài)庫靜態(tài)庫和加載示例方法

    linux生成(加載)動態(tài)庫靜態(tài)庫和加載示例方法

    這篇文章主要介紹了linux生成(加載)動態(tài)庫靜態(tài)庫示例方法,大家參考使用
    2013-11-11
  • shell中的curl網(wǎng)絡(luò)請求的實現(xiàn)

    shell中的curl網(wǎng)絡(luò)請求的實現(xiàn)

    本文主要介紹了shell中的curl網(wǎng)絡(luò)請求的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • crontab每10秒執(zhí)行一次的實現(xiàn)方法

    crontab每10秒執(zhí)行一次的實現(xiàn)方法

    下面小編就為大家?guī)硪黄猚rontab每10秒執(zhí)行一次的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • centos中mysql備份數(shù)據(jù)庫腳本分享

    centos中mysql備份數(shù)據(jù)庫腳本分享

    這篇文章主要介紹了centos中mysql備份數(shù)據(jù)庫腳本,可以做成mysql自動備份工具,管理網(wǎng)站一定會用的到,需要的朋友可以參考下
    2014-03-03

最新評論

桐梓县| 沙河市| 开封市| 龙泉市| 东至县| 琼中| 柏乡县| 阿克陶县| 澄江县| 西畴县| 璧山县| 壤塘县| 红河县| 银川市| 朝阳县| 五家渠市| 东阿县| 怀化市| 十堰市| 蒲江县| 富裕县| 宝坻区| 惠州市| 颍上县| 金昌市| 永新县| 大名县| 公安县| 灵丘县| 漳平市| 永胜县| 北安市| 宜君县| 安新县| 涡阳县| 普宁市| 安化县| 环江| 汾西县| 蓬莱市| 云浮市|