Sre*_*eni 6 linux memory kernel
我正在调试内核内存不足的问题,我试图确定谁在使用导致问题的内核内存不足。
以下是 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
Run Code Online (Sandbox Code Playgroud)
我查看了上面输出中的以下字段:
LowTotal: 577216 kB
LowFree: 9772 kB
Slab: 304260 kB
Run Code Online (Sandbox Code Playgroud)
如果我将/proc/slabinfo 中的内存分配相加,则与上面提到的slab 内容(304kb) 匹配。
我查看了内核源代码,发现 lowfree 计算为 (totalfree-highfree),与上表匹配。
我想知道剩下的 263mb(lowtotal-lowfree-slab, 577216-9772-304260=263184mb) 的低内存在哪里使用。看起来 lowmem 用于平板以外的用途。一旦我弄清楚除了slab之外还有谁在使用lowmem,我可以尝试找出内存在哪里获得列表。
基本上,我的目标是试图找出谁在使用 570mb 的 lowmem。
我查看了解释 meminfo 和slabinfo 详细信息的不同邮件组,但我还没有看到lowmem 使用详细信息的详细信息。
谢谢斯里尼瓦斯
这并不能直接回答你的问题,但我确实找到了有关/proc/meminfo
红帽不久前发布的信息,这可能会有所帮助。该页面位于此处,标题为:提示与技巧专题文章:/proc/meminfo 解释。
摘抄
LowFree:低内存区域的可用内存量。这是内核可以直接寻址的内存。所有内核数据结构都需要进入低内存。
所以我想知道是否有一些数据结构正在消耗您所询问的 263MB,您的数学似乎表明情况可能如此。
我还在 U&L 网站上写了一个关于内核使用多少 RAM?,特别展示了一些工具,以及slabtop
一些/proc
可能帮助您深入了解问题的附加结构。