Às vezes, trabalho com grandes quantidades de dados que quero manter na memória para processamento. Às vezes, calculo mal a quantidade de memória que meu programa produzirá ou um depurador multiplica o uso de memória por um fator que excede minha memória disponível.
Sempre que inicio um processo que consome muita memória, é o que eu esperaria de um sistema operacional sadio: tente consumir toda a memória livre e peça a outros processos não essenciais que renunciem à memória de que não precisam; escreva para trocar.
Aqui está o que o Ubuntu faz por mim: coma toda a memória livre, peça ao sistema operacional que troque todos os serviços essenciais (sessão gnome, terminal, teclado), congele e espere que eu puxe o plugue.
Duas questões:
- Como um sistema operacional pode assumir que algo pode ser tão importante que não há problema em parar de ouvir as informações do usuário?
- Como posso dizer ao Ubuntu para nunca trocar serviços essenciais e sempre reagir à entrada do usuário, mesmo que algum processo estúpido tente consumir mais recursos do que o sistema fornece.
swappiness
configuração para 10, ou seja: vm.swappiness = 10
em /etc/sysctl.conf. Pesquise aqui swappiness para obter mais informações sobre ele. 2) Se a troca não ajudar ... Mesmo que você não queira ... aumente o tamanho do seu arquivo de troca para 1,5x16G e veja se isso ajuda. Mantenha-me informado. Cheers, Al
vm.swappiness=10
precisa ser ADICIONADO ao sysctl.conf. Uma pessoa experiente pode até usar o comando sysctl em tempo real, para definir vm.swappiness = 10, sem editar o arquivo sysctl.conf. Saúde, esperamos que o OP responda.
swapon
para descobrir)? Cheers, Al