如何检查内存不同部分的使用情况?

时间:2011-05-10 14:35:02

标签: linux memory-management

我的计算机配有2个Intel Xeon CPU和48 GB RAM。 RAM分为CPU - 两部分24 GB + 24 GB。如何查看每个特定部件的使用量?

所以,我需要像htop这样的东西,它显示了每个核心的使用情况(参见this example),而不是内核而不是内核。或者指定使用哪个部分(地址)的内存以及哪些不是。

2 个答案:

答案 0 :(得分:4)

信息位于/proc/zoneinfo,包含与/proc/vmstat非常相似的信息,除了按“节点”(Numa ID)细分。我这里没有NUMA系统来为您测试它并为多节点配置提供示例输出;它在单节点机器上看起来像这样:

Node 0, zone      DMA
pages free     2122
      min      16
      low      20
      high     24
      scanned  0
      spanned  4096
      present  3963
[ ... followed by /proc/vmstat-like nr_* values ]
Node 0, zone   Normal
pages free     17899
      min      932
      low      1165
      high     1398
      scanned  0
      spanned  223230
      present  221486
nr_free_pages 17899
nr_inactive_anon 3028
nr_active_anon 0
nr_inactive_file 48744
nr_active_file 118142
nr_unevictable 0
nr_mlock     0
nr_anon_pages 2956
nr_mapped    96
nr_file_pages 166957
[ ... more of those ... ]
Node 0, zone  HighMem
pages free     5177
      min      128
      low      435
      high     743
      scanned  0
      spanned  294547
      present  292245
[ ... ]

即。关于使用/可用性总计的小统计数据,后跟nr_*中的系统全局级别上的/proc/vmstat值(然后允许进一步细分内存的确切内容)。

如果您有多个内存节点,即NUMA,您将看到所有节点的这些区域。

修改

我不知道有这样的前端(例如vmstat的{​​{1}}是一个numa - htop),但如果有人知道,请发表评论!

答案 1 :(得分:2)

numactl --hardware命令会给你一个简短的答案:

node 0 cpus: 0 1 2 3 4 5 node 0 size: 49140 MB node 0 free: 25293 MB node 1 cpus: 6 7 8 9 10 11 node 1 size: 49152 MB node 1 free: 20758 MB node distances: node 0 1 0: 10 21 1: 21 10