Lo primero que debemos averiguar es el PID de nuestro proceso java.
[developer@localhost ~]$ ps -C java -o pid,%cpu,%mem,cmd PID %CPU %MEM CMD 3435 1.5 22.0 /usr/bin/java ... 4302 0.1 3.5 /opt/jdk1.8.0_121/bin/java ...Una vez obtenido el PID, por ejemplo 3435, preguntamos por la memoria usada actualmente.
[developer@localhost ~]$ cat /proc/3435/status | grep VmRSS | awk '{print $2}' 856380Luego podemos averiguar cuanta memoria hay en nuestro sistema.
[developer@localhost ~]$ cat /proc/meminfo | grep MemTotal | awk '{print $2}' 3882124Ahora bien, si sacais la regla de 3 simple os dareis cuenta que el proceso 3435 ocupa el 22% de la memoria, lo cual coincide con el porcentaje obtenido en la primera sentencia ejecutada.
Tip:
Se puede obtener toda la información del proceso "in one go" simplemente especificando rss como una de las opciones cuando ejecutamos ps.
[developer@localhost ~]$ ps -C java -o pid,%cpu,%mem,rss,cmdVmRSS a efectos prácticos es la cantidad de memoria RAM que el proceso Java ocupa en el sistema operativo. Aunque si bien no quiere decir que sea la cantidad de memoria que el proceso java esta utilizando en ese momento, de alli las diferencias cuando se monitoriza la "Java Heap Space".
Enlaces relacionados:
- https://dzone.com/articles/spring-boot-memory-performance
- https://stackoverflow.com/questions/561245/virtual-memory-usage-from-java-under-linux-too-much-memory-used
-FIN-
No comments:
Post a Comment