KSysGuard relatando uso de memória incorretamente

KSysGuard relatando uso de memória incorretamente

Algumas vezes recentemente notei que meu laptop estava um pouco lento e a luz do disco tremia muito. É um i7 com SSD e 12 GB de RAM, então não espero muita lentidão apenas na navegação.

Da última vez, isso me incomodou, então dei uma olhada rápida no System Monitor (KSysGuard) e ele estava mostrando que minha partição swap de 2 GB estava 100% utilizada, mas a memória física estava apenas em 4,8 GB de 11,6 (que é onde o gráfico vai para). Então pensei em tentar esvaziar o swap desligando-o e ligando-o novamente ( swapoff -a, swapon -a), mas o swapoff falhou devido à RAM insuficiente.

Isso me confundiu, pois eu deveria ter cerca de 7GB sobrando, de acordo com o KSysGuard, então pensei em ver o que top tinha a dizer. Top mostrou cerca de 150 MB de RAM livre e 2.048/2.048 MB de swap em uso. Não admira que estivesse um pouco lento!

Por que o KSysGuard subestimaria tanto o uso de memória e como posso torná-lo mais revelador?

Responder1

De acordo com os comentários, aumentei meu arquivo de troca de 2GiB para 6GiB usando o seguinte:

sudo swapoff -a
sudo rm /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=6144
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Respectivamente, os comandos acima desativam a troca movendo as páginas de volta para a memória física, removem o arquivo de troca, criam um novo arquivo de 6GiB chamado swapfile, definem as permissões apenas para root, configuram o arquivo para uso de troca e finalmente ativam a troca novamente com o novo arquivo.

Em seguida, adicionei vm.swappiness=70no final da penúltima seção para /etc/sysctl.conftornar a troca para o arquivo de paginação um pouco mais agressiva (economizando um pouco de memória física).

No entanto, para realmente responder à questão de por que o KSysGuard parecia estar mentindo sobre a quantidade de RAM em uso, é porque o gráfico padrão "Memória e histórico de troca" na verdade mostra apenas dados do sensor "Memória do aplicativo". Para resolver isso, adicionei uma aba chamada Memória no KSysGuard e incluí 2 gráficos - um para memória física e outro para troca. O gráfico da memória física possui os seguintes sensores configurados: Memória Utilizada, Memória Livre, Memória Buffer, Memória Cache. Apenas Usado e Cache são realmente necessários, mas é a métrica Usado que informa quanta memória foi realmente usada.

Responder2

Dos comentários...

Nota: lembre-se de que a RAM não utilizada é usada para buffers de arquivos e discos.

O verdadeiro problema é que seu espaço de troca 2G é muito pequeno e seu disco está se debatendo.

Eu aumentaria seu swap para pelo menos 6G e modificaria seu vm.swappiness do padrão de 60 para 80.

Para testar várias configurações de vm.swappiness, use sudo sysctl vm.swappiness=80. Valores vm.swappiness maiores que o padrão de 60 fazem mais uso de swap. Valores inferiores a 60 utilizam mais RAM.

Para torná-lo permanente, edite /etc/sysctl.confe adicione vm.swappiness=80no final e reinicie.

informação relacionada