Como obter o uso da memória real em cache / pré-buscada no Linux?

1

Eu enfrento os mesmos problemas como este post: link

Para somar: parece que a recuperação antecipada / armazenada em cache / paginada de RAM leva muito tempo, então vivo com medo constante de que o disco faça leituras de disco insanas ao ponto em que o PC trava e me obriga a reinicializar.

Então, investiguei mais esse problema e recebi o comando útil:

sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

Que derrubam a RAM pré-buscada ... até certo ponto, uma vez que ainda há alguma esquerda, que parece ser uma parte "estática".

Tenho notado que adicionar isso ao uso de RAM sem pré-busca corresponde à RAM usada do topo.

No entanto, isso não me diz quanta RAM pré-buscada "estática" estou usando. E sabendo que isso me permitirá dar tempo suficiente ao descarregamento de cache paginado do Linux para fazer seu trabalho quando eu estiver prestes a atingir a contagem total de RAM.

Por exemplo: o cache era ~ 1000 MiB, depois chegava a ~ 700 MiB depois de fazer "echo 3 | sudo tee / proc / sys / vm / drop_caches"; os ~ 700 MiB são a parte "estática" da RAM pré-buscada que eu preciso saber.

Então, minha pergunta é: Como você obtém a parte "real" do uso da RAM de Prefetched / Cached / Paged?

PS:

Por outro lado, existe uma maneira de produzir somente o total de RAM usado por todos os processos - mesmo os da raiz - (como o valor mem do htop)?

    
por X.LINK 12.01.2018 / 18:17

1 resposta

2

Você pode encontrar a RAM usada por cada processo para todos os usuários com o seguinte comando:

ps -eo pid,command,rss,user

Isso fornece, em ordem, o id do processo, o comando, a memória usada e o usuário do processo.

Se você quiser a quantidade total de RAM usada por todos os processos, o seguinte comando funcionará

free

Se você quiser uma soma da memória que está sendo usada por cada processo, use o seguinte código:

ps -eo rss | awk '{sum+=$1} END {print sum}'

Isso lhe dará um valor que é a quantidade total de memória usada por todos os processos.

    
por 12.01.2018 / 18:48