Dell Networking - SmartFabric OS10:識別記憶體使用率
Summary: 在某些情況下,執行 OS10 的 Dell PowerSwitch 可能會觸發監控系統,針對記憶體可用性不足發出警示。
Instructions
索引
適用的平台
描述
SNMP OID
可用記憶體的
OIDOS10 版本 10.5.3.0 和舊版本相關的
Linux 說明文件
從命令列
顯示記憶體使用率以百分比顯示可用記憶體資源
適用的平台和韌體
所有支援 OS10 韌體
的平台說明
SNMP 監控系統會使用適當的 OID 輪詢可用的記憶體,並顯示記憶體使用率的趨勢,並可能會將記憶體與系統的總記憶體進行比較,從而錯誤地觸發警示。不過,這可能是一個誤導性的指示燈,因為「可用記憶體」元件並不是系統中可用記憶體總量的唯一指示燈。還應考慮緩衝區/緩存所持有的記憶體。Linux 核心會視需要釋放增益/快取記憶體。
指示記憶體使用率的「show processes node-id 1」CLI 輸出範例片段如下。
----------------------------------- show processes node-id 1 -------------------
Top - 09:28:16 up 86 days, 22:23, 1 user, load average: 2.31, 1.98, 1.70
Tasks: 305 total, 1 running, 299 sleeping, 0 stopped, 5 zombie.
%Cpu(s): 10.7 us, 6.6 sy, 0.0 ni, 81.8 id, 0.1 wa, 0.0 hi, 0.8 si, 0.0 st
KiB Mem : 8126280 total, 809620 free, 4074872 used, 3241788 buff/cache
KiB Swap: 812624 total, 812624 free, 0 used. 3724916 avail Mem
將此值列印在與交換記憶體相同的行上可能會產生誤導,因為此值可能會被解釋為可用的交換記憶體。KiB 交換行上的字串“used”後面有一個句點 (.),表示與交換相關的統計資訊到此結束。 實際上,這個“有用的記憶”是整個系統的統計數據。
根據上述代碼片段,可用記憶體可能看起來為總記憶體的 ~ 10%,而且系統似乎正在經歷記憶體不足的情況。
% Free ==
= ~10%
但是,必須考慮到 Linux 內核會根據需要釋放增益/緩存記憶體。參考輸出下一行指示的「可用記憶體」,該記憶體會考慮緩衝區/緩存。依照該值,系統中仍有約 45% 的可用記憶體。
% Availability ==
= ~45%
使用 SNMP OID 進行推斷
OS10 記憶體 OID
可用 RAM 總數:.1.3.6.1.4.1.2021.4.6.0
總 RAM + 免交換:.1.3.6.1.4.1.2021.4.11.0
在 10.5.3.0 OS10 版本中添加了一個新的 OID,它給出了“可用記憶體”的值,如“show processes node-id 1”或“top”。 請參閱上面的輸出範例。
可將來自 DELLEMC-OS10-CHASSIS-MIB 的 OID .1.3.6.1.4.1.674.11000.5000.100.4.1.1.3.1.15.1 新增至監控工具中,以取得「avail Mem」的值。
在 10.5.3.0 之前的版本上,沒有可供可用記憶體的直接 OID。
如果「已使用記憶體」未顯示持續增加 (或) 可用記憶體未顯示持續減少,則系統不會出現記憶體洩漏的症狀。在某些合理的情況下,buff/cache 會保留較大的記憶體塊。標準 SNMP 監控工具可能無法說明這個問題,因為此工具會根據可用記憶體來繪製使用率趨勢,因此可以感知系統中的記憶體耗盡情況。此分配取決於進程如何使用記憶體以及內核如何在內部管理增益/緩存記憶體。
在 Linux MAN 頁面中,「top」也稱為「show process node-id 1」:
命令「show process node-id 1」會顯示從 linux 命令「top」提取的記憶體使用率。 從 linux MAN 頁面中有關可用記憶體統計資料的資訊:
https://man7.org/linux/man-pages/man1/top.1.html
”第 2 行中的 可用 數位是可用於啟動新應用程式的物理記憶體的估計值,無需交換。與 自由 欄位不同,它試圖考慮易於回收的頁面緩存和記憶體板。它在內核 3.14 上可用,在內核 2.6.27+ 上類比,否則與 免費相同。
若要使用命令列顯示記憶體使用率:
命令系統「free」 輸出以下內容:
OS10# system "free"
total used free shared buff/cache available
Mem: 16386852 2414376 13165208 1264 807268 13670376
Swap: 1638684 0 1638684
OS10# system "free | grep Mem | awk '{print $7/$2 * 100 }'"
83.4157 <~~~~This is free memory as a percentage of total memory.



