Terminal
top 命令和 + 和 * 符號
我正在嘗試使用以下 top 命令獲取記憶體使用情況。
KiB Mem : 8009480 total, 1438848 free, 1964392 used, 4606240 buff/cache KiB Swap: 7340028 total, 5302364 free, 2037664 used. 5202692 avail Mem
top -p $PID -n 1 -b | grep 'KiB Mem :' | awk -F, '{print $3}' 1963780 used
奇怪的是,有時我收到的輸出為
*"15108960+used"*
我無法理解為什麼有時會出現
+
,*
符號。我在手冊頁中找不到任何關於它的內容。
這意味著什麼?如何在沒有和輸出的情況下進行
top
命令列印。*``+
注意:在 CentOs 機器上執行。
首先,
top
不是獲取機器記憶體資訊的好方法。該free
命令旨在用於獲取記憶體資訊。你也可以使用vmstat -s
.現在,關於
top
,我從未*
在摘要區域中看到字元,但+
標誌的解釋出現在以下的手冊頁中top(1)
:If you see a `+' between a displayed number and the following label, it means that top was forced to truncate some portion of that number. By raising the scaling factor, such truncation can be avoided.
您可以使用
-E
標誌或E
互動式命令將縮放從 KiB 更改為其他值。-E :Enforce-Summary-Memory-Scaling as: -E k | m | g | t | p | e Instructs top to force summary area memory to be scaled as: k - kibibytes m - mebibytes g - gibibytes t - tebibytes p - pebibytes e - exbibytes Later this can be changed with the `E' command toggle.
因此,例如,
-Em
將縮放從 KiB 更改為 MiB。但同樣,如果您只想獲取記憶體資訊,請不要使用
top
,使用free
.