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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux 文件大小总和,linux磁盘占用跟每个文件夹大小总和不符?

發布時間:2025/3/17 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 文件大小总和,linux磁盘占用跟每个文件夹大小总和不符? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在使用磁盤統計的時候,經常用到df和度命令, 但是很多時候都發現不太一致.其實主要分下面兩類情況

一、僵尸進程

通過top命令可以統計僵尸進程:

image.png

也可以通過以下命令進行操作

ps -ef | grep defunct | grep -v grep | wc -l

如果發現有的話,可以清理一波,用如下命令:

ps -e -o ppid,stat | grep Z | cut -d '' -f2 | xargs kill -9

注意: 僵尸進程一次不一定能被清理干凈,可以多清理幾次.

二、刪除的文件被進程占用

df 統計的時候是從文件系統考慮的,不僅包含文件系統大小,還要統計被命令或者程序占用的空間,

例如 文件已經被刪除,但是被某個進程持有。其原理是讀取每個分區的superblock來獲取空閑數據塊、已使用數據塊,從而計算出空閑空間和已使用空間,因此df統計的速度極快(superblock才占用1024字節)。所以非常快。

既然文件已經被刪除了為何還不釋放呢? 文件已經被刪除,但是被某個進程持有。這種情況就不會釋放。

如何查找出這些僵尸文件呢?

lsof |grep deleted

找到的結果就是一些文件已經被刪除,但是空間還沒有釋放的。可以很久實際情況將持有的改文件的PID kill掉來釋放空間。

可以使用如下命令批量刪除。 生產環境謹慎操作。

for i in `lsof |grep deleted |awk '{ print $2 }'` ; do kill -15 $i ;done

三、du和df的原理

du -s命令通過將指定文件系統中所有的目錄、符號鏈接和文件使用的塊數累加得到該文件系統使用的總塊數,因為是stat所以所有類型的 ”文件” 都可以統計的到;而df命令通過查看文件系統磁盤塊分配圖得出總塊數與剩余塊數。文件系統分配其中的一些磁盤塊用來記錄它自身的一些數據,如i節點,磁盤分布圖,間接塊,超級塊等。這些數據對大多數用戶級的程序來說是不可見的,通常稱為Meta Data。

du命令是用戶級的程序,它不考慮Meta Data,而df命令則查看文件系統的磁盤分配圖并考慮Meta Data。df命令獲得真正的文件系統數據,而du命令只查看文件系統的部分情況。

總結

以上是生活随笔為你收集整理的linux 文件大小总和,linux磁盘占用跟每个文件夹大小总和不符?的全部內容,希望文章能夠幫你解決所遇到的問題。

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