關於使用 df 了解 Linux 磁碟使用情況以及應如何評估 tmpfs 的說明
我搜尋了 serverfault、SO 和其他網站,但找不到明確的答案。我已經閱讀了一些關於 Linux 儲存和文件系統的基礎知識,但我仍然不清楚如何解決我的問題。
我的目標是對我們環境中伺服器的磁碟空間和使用情況進行簡單評估。我們將在每台伺服器上執行一個包含 df -k 命令的 bash 腳本。將收集輸出文本以進行解析和分析。我無法理解如何正確評估 df -k 輸出以得出總磁碟空間和使用情況。
目前,我們忽略了網路儲存和 LVM 映射儲存(儘管我懷疑它們會比這種情況更加複雜和復雜)。我會在不久的將來處理這些。目前,我無法理解簡單的場景。
場景 1: 我在 Oracle Cloud 中創建了一個 Oracle Linux 7.9 VM,預設啟動卷為46GB。df -h 輸出返回以下內容:
Filesystem Size Used Avail Use% Mounted on devtmpfs 7.6G 0 7.6G 0% /dev tmpfs 7.6G 0 7.6G 0% /dev/shm tmpfs 7.6G 8.7M 7.6G 1% /run tmpfs 7.6G 0 7.6G 0% /sys/fs/cgroup /dev/sda3 39G 2.8G 36G 8% / /dev/sda1 200M 7.4M 193M 4% /boot/efi tmpfs 1.6G 0 1.6G 0% /run/user/0 tmpfs 1.6G 0 1.6G 0% /run/user/994 tmpfs 1.6G 0 1.6G 0% /run/user/1000
**問題 1:**我可以應用什麼一致的邏輯來計算總磁碟空間和使用情況?在這種情況下,我可以看到 (sda3 +一個7.6GB tmpfs 條目) 將使我達到 46GB,所以我應該忽略隨後的 7.6G tmpfs 條目和所有 1.6G tmpfs 條目嗎?鑑於 tmpfs 是易失性的而不是真正的儲存,我是否應該簡單地忽略所有 tmpfs 條目?在這種情況下,我將如何獲得 46GB 的總儲存空間?
場景 2: 我在 Oracle Cloud 中創建了一個 Oracle Linux 7.9 VM,預設啟動卷為200GB。df -h 輸出返回以下內容:
Filesystem Size Used Avail Use% Mounted on devtmpfs 30G 0 30G 0% /dev tmpfs 30G 0 30G 0% /dev/shm tmpfs 30G 8.8M 30G 1% /run tmpfs 30G 0 30G 0% /sys/fs/cgroup /dev/sda3 39G 3.5G 35G 9% / /dev/sda1 200M 7.4M 193M 4% /boot/efi tmpfs 5.9G 0 5.9G 0% /run/user/0 tmpfs 5.9G 0 5.9G 0% /run/user/994 tmpfs 5.9G 0 5.9G 0% /run/user/1000
**問題2:**這更令人困惑。我將如何達到 200GB 的總磁碟大小?看來我需要計算 sdaX AND(所有 tmpfs 條目)才能達到 200GB。我很難為這兩種情況找到一致的邏輯。
我希望我的問題很清楚。我很樂意提供任何額外的細節和/或澄清。
tmpfs文件系統是 RAM 磁碟,與您的儲存介質無關。
在第二種情況下,您的 200GB 磁碟包含一個 39GB 的根文件系統、一個 200MB 的引導文件系統、可能是未知大小的交換空間以及可能有大量可用空間。
要查看交換空間,請執行
swapon -s
. 要查看可用空間,請使用fdisk -l
或之類的分區工具parted /dev/sda print
。您似乎沒有在 LVM 卷或網路儲存上使用文件系統。它們將由 列出
df
。