这个问题已经在这里有一个答案:
- 我怎样才能找到我的Linux机器的总物理内存(RAM),适合于通过shell脚本解析? 11个回答
我想知道如何计算总RAM,我们如何能够通过总结的“猫PROC / meminfo中”命令的输出,在RAM大小达到
Memtotal = MemFree +?...........
任何一个可以帮助
这个问题已经在这里有一个答案:
我想知道如何计算总RAM,我们如何能够通过总结的“猫PROC / meminfo中”命令的输出,在RAM大小达到
Memtotal = MemFree +?...........
任何一个可以帮助
你需要一个工具,需要共享内存考虑这样做。
例如, SMEM :
# smem -t
PID User Command Swap USS PSS RSS
...
10593 root /usr/lib/chromium-browser/c 0 22868 26439 49364
11500 root /usr/lib/chromium-browser/c 0 22612 26486 49732
10474 browser /usr/lib/chromium-browser/c 0 39232 43806 61560
7777 user /usr/lib/thunderbird/thunde 0 89652 91118 102756
-------------------------------------------------------------------------------
118 4 40364 594228 653873 1153092
PSS
是有趣列在这里,因为它需要共享内存考虑(添加RSS
一起将导致共享MEM段分别计算多次这样的数字不会加起来)。
因此,用户态进程这里占用654Mb总。
# smem -tw
Area Used Cache Noncache
firmware/hardware 0 0 0
kernel image 0 0 0
kernel dynamic memory 345784 297092 48692
userspace memory 654056 181076 472980
free memory 15828 15828 0
----------------------------------------------------------
1015668 493996 521672
346Mb所使用的内核和有16Mb的自由。
总体而言左右的内存一半用于高速缓存(494Mb)。
所以1Gb的RAM总 = 654Mb 用户态过程,上述 + 346Mb 内核 打散为 MEM + 16Mb的自由
(给予或采取几MB)