Muito lento após inativo por algumas horas em 14.04

4

Eu tinha 12.04 sem problemas, mas desde que fiz o upgrade para o 14.04, estou observando que o sistema é muito lento para tarefas de interface do usuário e quando eu trabalho no dia seguinte (o computador fica ligado) e digito as senhas leva 1 minuto para fazer o login.

No entanto, top ou htop não mostra um uso significativo da CPU. É tão lento que escrever este post e clicar com o botão direito em uma palavra para o corretor funcionar demora 10 segundos para mostrar o menu e o ponteiro do mouse se teleporta quando eu o movo.

Agora que fechei o VirtualBox é muito melhor, então acho que o problema pode vir de lá.

VirtualBox é 4.3.10_ubuntu e a VM é Win7 com "Use 3d acceleration" marcado.

Mas como o htop não está mostrando um uso considerável da CPU, o que você acha que pode ser a causa disso?

    
por JorgeeFG 21.10.2014 / 13:28

1 resposta

6

O VirtualBox está usando muita memória RAM para o seu sistema, e você está trocando constantemente. Eu retocou a imagem para torná-la visível:

O VirtualBox tem um requisito de memória virtual quase do mesmo tamanho da sua RAM física.

Quanta memória você tem dedicado à máquina virtual? Na minha experiência, tudo o que excede 1/3 da sua RAM física total está pedindo problemas e lentidão.

O processo de java sob ele também pode ser parte do problema (é em 2.8G!) --- as chances são de que o VirtualBox e esse processo estão competindo por RAM e livelock juntos trocando como um louco.

Mais detalhado: que o Virtual Size é a memória que o processo "mapeou", ou seja, a memória que acha que possui - apenas parte disso está realmente na RAM a qualquer momento , e essa parte é a marcada com RES (para residente). Se o programa tentar acessar a memória que está em seu pool virtual, mas não na RAM, e a memória estiver cheia, alguma outra memória deve ser trocada para criar um novo. Então, se você tem dois processos com uma grande diferença entre memória virtual e residente, as chances são de que os dois estão trocando o outro em cada alternância de agendamento - tornando o sistema lento para um rastreamento - memória de troca pode ser milhões de tempo mais lento que a RAM.

O fato de que isso acontece após um longo período de inatividade provavelmente se deve ao fato de que o sistema estabeleceu uma partição da RAM entre o processo que mais ou menos satisfaz todos eles para essa carga de trabalho . Quando você altera o tipo de carga de trabalho novamente, partes diferentes dos programas são carregadas e o frenesi de troca é iniciado. As chances são de que, se você esperar o tempo necessário (pode levar horas!), O sistema encontrará mais ou menos outro equilíbrio decente; é o transitório que é ruim.

Sobre o seu caso:

Com 4G de RAM, ter uma máquina virtual de 1.5G é ok, se é o único processo que requer memória no sistema . Provavelmente aquele e o IDE são demais.

Truque sujo (e perigoso)

Para ter de volta um sistema responsivo, a maneira mais rápida que eu sei é forçar a troca; mas isso é bastante perigoso em algum momento. A ideia básica é fazer um

sudo swapoff -a

espere pelo acabamento ...

sudo swapon -a

Isso tentará colocar toda a memória de volta na RAM. Se não puder, os processos serão mortos impiedosamente ao longo do caminho. Para evitar a morte de alguns processos inocentes e importantes do sistema (1), a melhor maneira é tentar fechar o memória antes de fazer o swapoff.

(1) o matador de OOM (out-of-memory) do kernel irá tentar matar os processos corretos, mas não é à prova de falhas.

    
por Rmano 21.10.2014 / 13:45