Evitar que o sistema fique sem memória

0

Semelhante a este post Regular crash / freeze Ubuntu 16.04 LTS Unity , meu principal Xubuntu 16.04 LTS (xfce) em um PC - veja a especificação abaixo - com 2GB de memória está travando de vez em quando. O PC roda o navegador e o escritório, gráficos integrados padrão da Intel, nada extravagante. Funciona bem por semanas, depois acontece um par de dias separados. No ano passado eu tive pelo menos 15 vezes, o que eu acho que é demais, porque a IMHO tem um alto risco de corrupção de dados.

Eu posso ver isso vindo, sempre acontece quando eu corro TOR e Firefox em paralelo. Mas quando vejo que já é tarde demais para fazer alguma coisa. Às vezes o mouse congela rapidamente e vejo que o indicador de memória no painel pulou para 90%. Antes que eu possa fazer muito, congela intensificar (muitas vezes a mais de 30 segundos). O PC está tão ocupado que não é possível fechar nenhuma janela, abrir qualquer ferramenta ou até mesmo fazer o login no console. Às vezes, eu conseguia alternar entre as teclas CTRL-ALT-F1 e -F7, mas o login seria tão lento, que terminaria antes mesmo de solicitar a senha. Eu deixei por horas, mas nunca me recuperei. Eu verifiquei os logs algumas vezes, mas não consegui uma dica deles. No entanto, nessa condição, eu não confiaria nos logs, pois eles também seriam afetados.

Até agora, a única maneira de reagir é reinicializar o PC, o que representa o risco de perda de dados.

Eu não sei o que a raiz causa. Eu não posso reproduzi-lo. Atualmente, minha suposição de trabalho é que o sistema está preso em algum loop de armazenamento em cache. Os outros posts mostram-me problemas semelhantes lá fora. Eles tentam descobrir o que aconteceu depois.

Isso não é o que eu quero fazer. Eu não quero esperar até que isso aconteça novamente e começar a postar toneladas de logs aqui. Eu prefiro configurar o PC que eu possa mantê-lo vivo quando isso acontecer novamente e eu puder acessar um console para diminuir o problema. Pode-se dizer que eu quero ajuda para me ajudar.

Então, aqui está minha pergunta específica : Assumindo que estou vendo um problema de cache de memória causado pelos dois navegadores em paralelo, como posso configurar o sistema que seu funcionamento interno está protegido? Em outras palavras, que da próxima vez que isso acontecer, eu tenho um console de modo de texto de trabalho, depois que esses dois aplicativos rodarem de forma confusa?

Estou pensando nas linhas que eu poderia especificar um uso máximo de memória para aplicativos específicos, então o aplicativo congela, mas não o sistema. Obviamente, estou procurando qualquer outra coisa que funcione em torno para executar os dois aplicativos em uma VM.
Eu não espero que uma instrução passo a passo, palavras-chave ou links para procurar ajudaria muito.

Espero claro o suficiente sobre o que eu preciso.

Obrigado pela sua ajuda.

PS: Eu não esperava que isso esteja relacionado ao meu sabor específico do Ubuntu, o Xubuntu.

Postagens de referência

Especificação do PC 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

~ $ lscpu  Arquitetura: x86_64  Modo (s) operacional (es) da CPU: 32 bits, 64 bits  Ordem de Byte: Little Endian  CPU (s): 2  Lista de CPUs on-line: 0,1  Rosca (s) por núcleo: 2  Núcleo (s) por soquete: 1  Soquete (s): 1  NUMA nó (s): 1  ID do fornecedor: GenuineIntel  Família de processadores: 6  Modelo: 28  Nome do modelo: CPU Intel (R) Atom (TM) D410 @ 1.66GHz  Pisar: 10  CPU MHz: 1666,583  BogoMIPS: 3333,16  Cache L1d: 24K  Cache L1i: 32K  Cache L2: 512K  NUMA node0 CPU (s): 0,1  Sinalizadores: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sss2 ht tm pb syscall nx lm constant_tsc arch_perfmon pebs bts nopl aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm movbe lahf_lm dtherm

    
por CatMan 01.08.2017 / 13:44

2 respostas

1

Com 2G RAM e 1G de troca, esse comportamento seria esperado . Aumente sua troca para o mínimo de 4G, ou faça as duas coisas ... aumente a RAM e aumente a troca.

Você também pode querer investigar o parâmetro vm.swappiness , já que você pode ajustá-lo para efetuar quando / como a troca ocorrer. Você encontrará muitas informações aqui na AU ou na Pesquisa do Google.

    
por heynnema 03.08.2017 / 14:58
1

Você pode usar grupos de controle (cgroups) para limitar o uso da memória. Eles são um recurso de kernel do Linux que permite limitar o uso de recursos (incluindo memória) para processos, colocando processos em cgroups específicos. Há alguma documentação no site Arch Linux, bem como na Guia do servidor Ubuntu que pode ser útil.

    
por sapensadler 01.08.2017 / 14:03