man getrusage 2
dice
ru_maxrss (since Linux 2.6.32)
This is the maximum resident set size used (in kilobytes). For RUSAGE_CHILDREN, this is the resident set size of the largest
child, not the maximum resident set size of the process tree.
Entonces, ¿qué significa exactamente este número?
ru_maxrss
está en bytes en máquinas mac / BSD.ru_maxss
está en bytes en máquinas Mac OS X (Darwin), pero en kilobytes en máquinas BSD y máquinas Linux. Consulte stackoverflow.com/q/40773924/781723 y stackoverflow.com/q/12050913/781723 .Respuestas:
El tamaño del conjunto residente de un proceso es la cantidad de memoria que le pertenece y que actualmente está presente (residente) en la RAM (RAM real, no intercambiada o no residente).
Por ejemplo, si un proceso asigna una porción de memoria (digamos 100Mb) y la usa activamente (lee / escribe), su tamaño de conjunto residente será de aproximadamente 100Mb (más gastos generales, el segmento de código, etc.). Si después del proceso deja de usar (pero no libera) esa memoria por un tiempo, el sistema operativo podría optar por intercambiar fragmentos de esa memoria para intercambiar, para dejar espacio para otros procesos (o caché). El tamaño del conjunto residente luego disminuiría en la cantidad que el núcleo intercambió. Si el proceso se activa y comienza a reutilizar esa memoria, el núcleo volvería a cargar los datos del intercambio y el tamaño del conjunto residente volvería a subir.
El
ru_maxrss
campo destruct rusage
es la "marca de límite superior" para el tamaño del conjunto residente. Indica el uso máximo de RAM para este proceso (cuando se usaRUSAGE_SELF
).Puede limitar el tamaño de conjunto residente de un proceso para evitar que una sola aplicación "coma" toda la RAM en su sistema y obligue a otras aplicaciones a intercambiar (o fallar completamente con condiciones de falta de memoria).
fuente