Como posso fazer o Linux não debater e simplesmente matar processos?

2

O Firefox (e flash) tende a confundir a memória em momentos aleatórios, fazendo com que meu computador se agite, e isso me deixa louca esperando que o oom_killer inicie e mate processos, [1] enquanto eu não posso fazer nada para mata o firefox eu mesmo. Eu desabilitei o swap, mas isso só piorou. Ele se debate por horas antes de matar qualquer coisa, e isso não faz sentido. Por que não basta liberar uma grande parte do cache e continuar?

Posso desativar o cache? Posso fazer parar de se debater? Eu só quero que o maior porco da memória morra quando estou sem memória.

[1] Nevermind que ele não tem como alvo o Firefox e continua a matar X ou meu ambiente de trabalho.

    
por Jayen 06.11.2011 / 11:37

1 resposta

1

Elimine seu cache periodicamente. Dessa forma, quando os processos solicitam pequenas quantidades de memória, o computador não está ocupado fazendo o cache de pequenos bits de cada vez. Diminui o seu computador no geral, mas pelo menos você não ficará sentado esperando que ele se agite quando o flash lhe der vida.

while sleep 30; do vmstat && echo 3 > /proc/sys/vm/drop_caches && vmstat; done


Nov 11 10:40:59 eeyore kernel: [604280.360966] icedove-bin invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0
Nov 11 10:40:59 eeyore kernel: [604280.606183] Out of memory: Kill process 12767 (firefox-bin) score 325 or sacrifice child
Nov 11 10:40:59 eeyore kernel: [604280.607749] Killed process 12914 (plugin-containe) total-vm:187036kB, anon-rss:14488kB, file-rss:0kB
Nov 11 10:41:23 eeyore kernel: [604305.020890] Xorg invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0
Nov 11 10:41:24 eeyore kernel: [604305.096299] Out of memory: Kill process 12767 (firefox-bin) score 325 or sacrifice child
Nov 11 10:41:24 eeyore kernel: [604305.096308] Killed process 482 (plugin-containe) total-vm:61124kB, anon-rss:2420kB, file-rss:0kB
Nov 11 10:41:30 eeyore kernel: [604311.107726] python invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0
Nov 11 10:41:30 eeyore kernel: [604311.531604] Out of memory: Kill process 12767 (firefox-bin) score 325 or sacrifice child
Nov 11 10:41:30 eeyore kernel: [604311.533284] Killed process 12767 (firefox-bin) total-vm:1388764kB, anon-rss:659040kB, file-rss:0kB
    
por 11.11.2011 / 00:50