Ядро убивает процессы.
В Fedora Core 3 ядро убивает процессы если они пытаются захватить больше
48Mb памяти. Как это можно отключить? RAM 64Mb, своп 128 Mb.
Проверял такой программкой:
#include <stdlib.h>
#define BLOCK (8 * 1024 * 1024)
int main(int argc, char **argv) {
void *ptr;
size_t s = 0;
while (ptr = malloc(BLOCK)) {
memset(ptr, 0, BLOCK);
s += BLOCK;
printf ("%uM\n", s / (1024 * 1024));
}
return 0;
}
После вывода числа 48 процесс убивается c такими сообщениями:
oom-killer: gfp_mask=0xd2
DMA per-cpu:
cpu 0 hot: low 2, high 6, batch 1
cpu 0 cold: low 0, high 2, batch 1
Normal per-cpu:
cpu 0 hot: low 6, high 18, batch 3
cpu 0 cold: low 0, high 6, batch 3
HighMem per-cpu: empty
Free pages: 248kB (0kB HighMem)
Active:2964 inactive:9851 dirty:0 writeback:9354 unstable:0 free:62
slab:1646 mapped:3061 pagetab DMA free:64kB min:64kB low:128kB
high:192kB active:1444kB inactive:10748kB present:16384kB protections[]:
0 0 0 Normal free:184kB min:192kB low:384kB high:576kB active:10412kB
inactive:28656kB present:49152kB protections[]: 0 0 0
HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB
present:0kB protections[]: 0 0 0
DMA: 0*4kB 0*8kB 0*16kB 0*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB
0*2048kB 0*4096kB = 64kB Normal: 8*4kB 1*8kB 1*16kB 0*32kB 0*64kB
1*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 184 HighMem: empty
Swap cache: add 11674, delete 2254, find 45/46, race 0+0
Out of Memory: Killed process 9341 (test-mem).
Killed
Пробовал запускать программу в Knoppix c ядром 2.6.5 - ядро процесс не
убивало, число вырастало даже больше 100, после чего я его сам увивал.
Пробовал играться с /proc/sys/vm/overcommit_memory и
/proc/sys/vm/overcommit_ratio - никаких результатов. Пересмотрел
документацию ядра - кроме overcommit ничего не нашел по этой теме.
Из-за какого поведения ядра я не могу компилировать некоторые программы
и печатать некоторые документы :(
Konstantin Korikov пишет:
А что ulimit -a говорит?
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 14400; Возраст листа: 510; Участников: 1285
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/282487
-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.linux.discuss
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.discuss--unsub@subscribe.ru?subject=comp.soft.linux.discuss
http://subscribe.ru/ http://subscribe.ru/feedback