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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux proc 占用空间,一种诡异的Linux磁盘空间被占满问题

發布時間:2024/10/5 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux proc 占用空间,一种诡异的Linux磁盘空间被占满问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

8種機械鍵盤軸體對比

本人程序員,要買一個寫代碼的鍵盤,請問紅軸和茶軸怎么選?

- 服務報錯,提示沒有足夠磁盤空間.登錄服務器,使用df -h 查看磁盤空間使用率(此臺為模擬,真實服務器使用率100%)

在根目錄下使用du -sh *, 查看各文件夾大小, 發現其實這些文件加一起也辦不到服務器磁盤空間40G的一半

(使用du -sh * | sort -rh命令,對各文件按大小排序,更加直觀)

(外記:du -h --max-depth=1,用于查看當前目錄哥文件占用最大)看到 cannot access 'proc/4086/task/4086/fd/4': No such file or directory,很自然想到會不是這里的問題,發現這實際是一條歧路,/proc目錄有時可能會很大,甚至140T,但這個數字既不是磁盤空間,也不是內存空間.可將該目錄簡單理解為一個”運行中心”,是一個位于內存中的偽文件系統(in-memory pseudo-file system).該目錄下保存的不是真正的文件和目錄,而是一些“運行時”信息.linux中許多工具的數據來源正是proc目錄中的內容

更多關于/proc的信息,可參見如下:

- 繼續追查,谷歌到很多類似癥狀,大概答案是:通過rm或者文件管理器刪除文件,只是將它會從文件系統的目錄結構上解除鏈接(unlink),也就是說只是刪除了文件和系統目錄結構的鏈接;如果文件在刪除時是被打開的(有一個進程正在使用該文件,文件被進程鎖定或者有進程一直在向這個文件寫數據等)狀態,那么進程將仍然可以讀取該文件,也就是說沒有刪除掉文件在讀取的狀態,所以磁盤空間也就會一直被占用。一個文件在文件系統中的存放分為兩個部分:數據部分和指針部分,指針位于文件系統的meta-data中,數據被刪除后,這個指針就從meta-data中清除了,而數據部分存儲在磁盤中,數據對應的指針從meta-data中清除后,文件數據部分占用的空間就可以被覆蓋并寫入新的內容,之所以出現刪除文件后,空間還沒釋放,就是因為有進程還在一直向這個文件寫入內容,導致雖然刪除了文件,但文件對應的指針部分由于進程鎖定,并未從meta-data中清除,而由于指針并未被刪除,那么系統內核就認為文件并未被刪除,因此通過df命令查詢空間并未釋放也就不足為奇了。使用lsof | grep deleted,果然是好幾屏的 已刪除文件的磁盤讀寫操作進程

參見:在我準備寫shell, 用kill pid 殺死占用被刪除文件的進程時,發現那臺占用率100%的機器沒有安裝lsof(是的,lsof需要手抖install).想刪掉部分日志文件,給其騰出空間,發現剛刪除立即yum install lsof,都會提示free空間為0

無奈重啟服務器,再打開使用df -h查看磁盤使用率,然后一切正常…

8G/20G,約為20%

總結重啟服務器或kill pid方式都能解決該問題

記錄排查&解決這個問題中涉及到的一些命令及延伸

lsof

查看文件大小&&排序

ll -h,輸出的文件大小就是human可讀的樣式了

總結

以上是生活随笔為你收集整理的linux proc 占用空间,一种诡异的Linux磁盘空间被占满问题的全部內容,希望文章能夠幫你解決所遇到的問題。

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