Devo confiar em htop ou top quando se trata de memória RES?

0

Estou escrevendo um programa para testar algumas métricas de uso de memória em nossos sistemas e quero atingir um consumo de memória de destino. Você executa o meu programa via meminflate.exe -G 103.1 se você quiser usar 103.1 GB da memória.

Quando executo meminflate.exe -G 63.3 , a parte superior mostra VIRT como 63.5 (OK, não muito longe), mas RES mostra 63 em top e mostra 63.5 em% código%. Qual destes eu devo confiar? Espero que htop esteja correto, mas me pergunto por que há uma diferença lá.

    
por drjrm3 31.07.2015 / 14:55

1 resposta

0

Você pode obter o número exato de bytes para o Rss (conjunto residente) de /proc/<pid>/stat :

echo $(($(cat /proc/$(pgrep -n meminflate.exe)/stat | cut -d' ' -f24)*4096))

Para explicar: leia /proc/<pid>/stat (aqui o número PID é encontrado usando pgrep ), os usos cut para selecionar apenas o 24º campo (Rss). Em seguida, o resultado é multiplicado por 4096 (o tamanho de página normal no Linux). Você também pode multiplicá-lo apenas por 4 para obter o tamanho em kiB ou dividi-lo por 256 para obtê-lo em MiB.

    
por 31.07.2015 / 17:16