Ubuntu congela quando o uso de RAM aumenta

Ubuntu congela quando o uso de RAM aumenta

Esse problema persistiu por um tempo, mas parece que se tornou extremamente frequente (em vez de vez em quando, acontece quase todos os dias) depois que atualizei de 18.04 para 20.04.

Sempre que algo acontece - parece-me que é quando o uso de RAM aumenta (vi pessoas descreverem problemas semelhantes com E/S de disco, mas não parece ser o caso) - o limite do sistema congela. Por um primeiro minuto, o sistema irá funcionar drasticamente e eu tenho uma pequena janela de oportunidade para mover o cursor do mouse, agora nervoso, para fechar rapidamente a guia do navegador ou aplicativo que está causando o problema. Se eu não fizer isso, neste ponto o sistema congela permanentemente, o relógio do sistema na barra superior para de atualizar e não descongela, não importa o que aconteça, e preciso fazer uma reinicialização total.

Anteriormente, isso acontecia frequentemente no Firefox quando eu tinha muitas guias abertas, mas instalei uma extensão de limitador de guias para atenuar isso. Mas isso continua acontecendo, acontece (às vezes) quando estou trabalhando em uma imagem maior no GIMP e quando navego em alguns sites com rolagem infinita, como o redesenho do DeviantArt ou alguns sites de vídeo. Acabei de perder meia hora de progresso em uma obra de pixel art em que estava trabalhando no GIMP.

Isso está tornando meu sistema realmente irritante de usar. Odeio dizer isso, mas o Windows 10 que tenho em dual boot é mais estável - e isso quer dizer alguma coisa, já que o W10 é o pior sistema operacional que já usei.

Aqui está um despejo inxi -F:

System:
  Host: shino-ProLiant-ML310-G5p Kernel: 5.4.0-66-generic x86_64 bits: 64 
  Desktop: Gnome 3.36.4 Distro: Ubuntu 20.04.2 LTS (Focal Fossa) 
Machine:
  Type: Desktop System: HP product: ProLiant ML310 G5p v: N/A 
  serial: <superuser/root required> 
  Mobo: N/A model: N/A serial: N/A BIOS: HP v: W08 date: 10/25/2010 
CPU:
  Topology: Dual Core model: Intel Xeon E3120 bits: 64 type: MCP 
  L2 cache: 6144 KiB 
  Speed: 1995 MHz min/max: N/A Core speeds (MHz): 1: 1995 2: 1995 
Graphics:
  Device-1: AMD ES1000 driver: N/A 
  Device-2: NVIDIA G86 [Quadro NVS 290] driver: nvidia v: 340.108 
  Display: x11 server: X.Org 1.20.9 driver: nvidia 
  unloaded: fbdev,modesetting,nouveau,vesa resolution: 1440x900~75Hz 
  OpenGL: renderer: Quadro NVS 290/PCIe/SSE2 v: 3.3.0 NVIDIA 340.108 
Audio:
  Device-1: Generalplus type: USB driver: hid-generic,snd-usb-audio,usbhid 
  Sound Server: ALSA v: k5.4.0-66-generic 
Network:
  Device-1: Broadcom and subsidiaries NetXtreme BCM5715 Gigabit Ethernet 
  driver: tg3 
  IF: enp3s4f0 state: down mac: 9c:8e:99:35:15:80 
  Device-2: Broadcom and subsidiaries NetXtreme BCM5715 Gigabit Ethernet 
  driver: tg3 
  IF: enp3s4f1 state: up speed: 1000 Mbps duplex: full 
  mac: 9c:8e:99:35:15:81 
Drives:
  Local Storage: total: 1.82 TiB used: 594.46 GiB (31.9%) 
  ID-1: /dev/sda model: LOGICAL VOLUME size: 1.82 TiB 
RAID:
  Hardware-1: Hewlett-Packard Smart Array G6 controllers driver: hpsa 
Partition:
  ID-1: / size: 910.88 GiB used: 594.46 GiB (65.3%) fs: ext4 dev: /dev/sda5 
Sensors:
  System Temperatures: cpu: 40.0 C mobo: N/A gpu: nvidia temp: 68 C 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 288 Uptime: 2h 17m Memory: 3.84 GiB used: 2.86 GiB (74.6%) 
  Shell: bash inxi: 3.0.38 

Responder1

Dehttps://en.wikipedia.org/wiki/Memory_paging#Swappinessafirma:

Swappiness é um parâmetro do kernel Linux que controla o peso relativo dado à troca da memória de tempo de execução, em oposição à eliminação de páginas do cache de páginas do sistema, sempre que uma solicitação de alocação de memória não puder ser atendida a partir da memória livre. A troca pode ser definida para valores entre 0 e 200 (inclusive).[18] Um valor baixo faz com que o kernel prefira expulsar páginas do cache de páginas, enquanto um valor mais alto faz com que o kernel prefira trocar páginas de memória "frias". O valor padrão é 60; defini-lo como mais alto pode causar alta latência se páginas frias precisarem ser trocadas novamente (ao interagir com um programa que estava ocioso, por exemplo), enquanto defini-lo como mais baixo (até 0) pode causar alta latência quando arquivos que foram removidos do o cache precisa ser lido novamente, mas programas mais responsivos. A troca também pode desacelerar ainda mais os HDDs porque envolve muitas gravações aleatórias, enquanto os SSDs não apresentam esse problema. Certamente os valores padrão funcionam bem na maioria das cargas de trabalho, mas desktops e sistemas interativos para qualquer tarefa esperada podem querer diminuir a configuração, enquanto o processamento em lote e sistemas menos interativos podem querer aumentá-la.[19]

Como o padrão do Ubuntu é vm.swappiness, 60recomendo um valor menor, ou seja 10, para que as páginas inativas na RAM sejam menos agressivas com a troca.

Execute o seguinte para definir um valor de 10(se nenhum valor estiver definido no arquivo .conf ainda):

echo "vm.swappiness = 10" | sudo tee -a /etc/sysctl.conf

Se a configuração já existir, você pode copiar e colar o seguinte para alterar o valor para 10:

sudo sed -i "s/$(awk '/vm.swappiness/ {print $0}' /etc/sysctl.conf)/vm.swappiness\ =\ 10/" /etc/sysctl.conf

Em seguida, ative as alterações:

sudo sysctl -p

Você também pode tentar valores diferentes para ver o que funciona melhor para você.

Espero que isto ajude!

informação relacionada