从 Debian 7 升级到 Debian 8 on arm (cubietruck) 后,我目前面临 OOM 的主要问题。我已经阅读了很多关于 oom 机制和原因的内容,但我仍然想念一个答案
如何找到正在运行的进程的内存碎片?
我已经 cat-ed /proc/buddyinfo 并看到碎片上升到 oom 杀死进程的那一刻。但这仅适用于整个系统。是否有可能在每个进程基础上获取 buddyinfo 之类的信息?
PS:我假设某些进程创建(通过 kmalloc?)碎片或通过其运行时行为触发内核中的碎片内存(缓冲区,控制结构或其他......)
cubietruck系统具有 2GB RAM 和 4GB 交换空间。
2017-03-16 09:06:17 cubietruck 内核:[2114250.857191] HighMem free:245388kB min:512kB low:2016kB high:3520kB active_anon:200864kB inactive_anon:230728kB 活动文件:331288kB 非活动文件:294800kB 无法挽回的文件:0kB 待写:0kB 目前:1307648kB 托管:1307648kB 锁定:0kB 平板可回收:0kB 平板不可回收:0kB kernel_stack:0kB 页表:2456kB 反弹:0kB free_pcp:92kB local_pcp:0kB free_cma:0kB lowmem_reserve[]:0 0 0