Centos

如何使用 Linux 命令獲取使用的記憶體(使用的 RAM)?

  • July 13, 2020

我正在嘗試使用 Linux 命令按百分比檢索已用記憶體(RAM)。我的 cpanel 顯示了我需要在特定網頁上顯示的 Memory Used。

從論壇中,我發現可以從以下內容中找到正確的記憶:

free -m

結果:

-/+ buffers/cache:        492       1555

-/+ 緩衝區/記憶體:包含正確的記憶體使用情況。我不知道如何解析這些資訊,或者是否有任何不同的命令來獲取記憶體使用百分比。

這是免費的範例輸出:

% free
            total       used       free     shared    buffers     cached
Mem:      24683904   20746840    3937064     254920    1072508   13894892
-/+ buffers/cache:    5779440   18904464
Swap:      4194236        136    4194100

第一行數字 ( Mem:) 列出

  • total記憶
  • used記憶
  • free記憶
  • 的使用shared
  • 的使用buffers
  • 使用文件系統記憶體 ( cached)

在這一行used 中包括緩衝區和記憶體,這無影響。這不是您的“真正”可用記憶體,因為如果需要滿足分配請求,系統將轉儲記憶體。

下一行 ( -/+ buffers/cache:) 為我們提供了實際使用和空閒記憶體,就好像沒有緩衝區或記憶體一樣。

最後一行 ( Swap) 給出了交換記憶體的使用情況。沒有用於交換的緩衝區或記憶體,因為將這些東西放在物理磁碟上是沒有意義的。

要輸出使用的記憶體(減去緩衝區和記憶體),您可以使用如下命令:

% free | awk 'FNR == 3 {print $3/($3+$4)*100}'
23.8521

這會抓取第三行並除以已用/總計 * 100。

對於空閒記憶體:

% free | awk 'FNR == 3 {print $4/($3+$4)*100}' 
76.0657

引用自:https://unix.stackexchange.com/questions/152299