我正在调试我们正在耗尽内核低内存的问题,我正在尝试确定谁正在使用导致问题的内核低内存.
以下是meminfo输出:
MemTotal: 16622556 kB
MemFree: 11429420 kB
Buffers: 146268 kB
Cached: 2898228 kB
RAMCached: 1213120 kB
Allowed: 4155639 Pages
Free: 2857355 Pages
Available: 3317413 Pages
SwapCached: 0 kB
Active: 3004716 kB
Inactive: 1694188 kB
HighTotal: 16045340 kB
HighFree: 11419648 kB
LowTotal: 577216 kB
LowFree: 9772 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 8 kB
Writeback: 0 kB
Mapped: 1871960 kB
Slab: 304260 kB
CommitLimit: 8311276 kB
Committed_AS: 5438236 kB
PageTables: 20956 kB
VmallocTotal: 311288 kB
VmallocUsed: 253900 kB
VmallocChunk: 48892 kB
我查看了上面输出中的以下字段:
LowTotal: 577216 kB
LowFree: 9772 kB
Slab: 304260 kB
如果我在/ proc / slabinfo中添加内存分配,它与上面提到的slab内容(304kb)匹配.
我查看了内核源代码,我看到lowfree计算为(totalfree-highfree),它与上表中的匹配.
我想知道在哪里使用剩余的263mb(lowtotal-lowfree-slab,577216-9772-304260 = 263184mb)的低内存.看起来lowmem用于板坯以外的用途.一旦我弄清楚除了slab之外还有谁在使用lowmem,我可以尝试找出内存在哪里获取列表.
基本上,我的目标是试图找到谁正在使用570mb的lowmem.
我查看了解释meminfo和slabinfo详细信息的不同邮件组,但我还没有看到lowmem使用细节的详细信息.
谢谢
Sreenivas