Linux oom killer - найти фрагментированный процесс

В настоящее время у меня возникают серьезные проблемы с OOM после обновления с Debian 7 до Debian 8 на arm (cubietruck). Я уже много читал о механизме и причинах, но я все еще скучаю по ответу

Как найти фрагментацию памяти запущенного процесса?

У меня есть cat-ed /proc/buddyinfo и я вижу повышение фрагментации до того момента, когда Oom убивает процесс. Но это только для всей системы. Есть ли возможность получать информацию о buddyinfo по отдельным процессам?

PS: я предполагаю, что какой-то процесс создает (посредством kmalloc?) Фрагментацию или из-за его поведения во время выполнения запускает действия в ядре, которые фрагментируют память (буферы, управляющие структуры или что-то еще...)


Система cubietruck имеет 2 ГБ оперативной памяти и 4 ГБ подкачки.

   
2017-03-16 09:06:17 Ядро cubietruck:[2114250.857191] 
Максимум свободного места:245388 КБ, минимум:512 КБ, минимум:2016 КБ, максимум:3520 КБ 
active_anon:200864kB 
inactive_anon:230728kB 
active_file:331288kB 
inactive_file:294800kB 
unevictab le:0kB 
writepending:0Kb 
Настоящее:1307648kB 
управляемые:1307648kB 
mlocked:0Kb 
slab_reclaimable: 0Kb 
slab_unreclaimable: 0Kb 
kernel_stack: 0Kb 
pagetables:2456kB 
подпрыгивать: 0Kb 
free_pcp:92Kb 
local_pcp: 0Kb 
free_cma: 0Kb 
lowmem_reserve[]: 0 0 0

0 ответов

Другие вопросы по тегам