我最近想檢查伺服器上每個連接用戶的 RAM 使用情況,但找不到解決辦法。請建議一些方法。
答案1
怎麼樣
ps aux | grep $USER | awk '{memory +=$4}; END {print memory }'
ps aux
:使用BSD語法查看系統上的每個進程。$USER
是當前使用者;如果您需要其他人,請將其變更為真實姓名。
現在是神奇的部分:
- awk 建立一個名為記憶體的變量,並加入 輸出的第 4 列
ps auxU $USER
,當它結束時,它會列印計算出的數量。
加法:圖解法。
smem 是一個可以提供有關 Linux 系統記憶體使用情況的大量報告的工具。與現有工具不同,smem 可以報告比例集大小 (PSS),這是虛擬記憶體系統中庫和應用程式使用的記憶體量的更有意義的表示。
由於大部分實體記憶體通常在多個應用程式之間共享,因此稱為駐留集大小 (RSS) 的記憶體使用量標準度量將顯著高估記憶體使用量。相反,PSS 會測量每個應用程式對每個共享區域的“公平份額”,以給出切合實際的測量結果。
smem有很多特色:
系統概述列出按進程、映射、用戶過濾的列表來自多個資料來源的進程、映射或用戶可配置的列可配置的輸出單位和百分比可配置的標頭和總計從/proc 讀取實時數據從目錄鏡像或壓縮tarball 讀取資料快照輕量級擷取嵌入式系統內建圖表產生工具 smem 有一些要求:
- 一個相當現代的核心(> 2.6.27 左右)
- Python 的最新版本(2.4 左右)
- 用於產生圖表的 matplotlib 庫(可選,自動檢測)
使用sme
- 顯示面向使用者的視圖:(
smem -u
連結中更多)'
安裝: