ver tengo saber que procesos memoria mas liberar estado consumen como comando chequear linux

linux - tengo - ver procesos que consumen mas memoria aix



¿Qué es RSS y VSZ en la gestión de memoria de Linux? (4)

¿Qué son RSS y VSZ en la gestión de memoria de Linux? En un entorno multiproceso, ¿cómo pueden gestionarse y rastrearse ambos?


Creo que ya se ha dicho mucho sobre RSS vs VSZ. Desde la perspectiva de un administrador / programador / usuario, cuando diseño / codifico aplicaciones, me preocupa más el RSZ, (memoria residente), y cuando sigues tirando más y más variables (acumulado), verás que este valor se dispara. Pruebe un programa simple para crear una asignación de espacio basada en malloc en bucle y asegúrese de completar los datos en ese espacio de malloc''d. RSS sigue subiendo. En lo que respecta a VSZ, Linux es más una asignación de memoria virtual, y una de sus características principales se deriva de los conceptos de sistemas operativos convencionales. La administración de VSZ se realiza mediante la administración de memoria virtual del kernel; para obtener más información sobre VSZ, consulte la descripción de Robert Love en mm_struct y vm_struct, que forman parte de la estructura de datos de task_struct básica en el kernel.



RSS es el tamaño del conjunto residente (memoria físicamente residente - actualmente ocupa espacio en la memoria física de la máquina), y VSZ es el tamaño de memoria virtual (espacio de direcciones asignado - tiene direcciones asignadas en el mapa de memoria del proceso, pero no hay necesariamente ninguna memoria real detrás de todo bien ahora).

Tenga en cuenta que en estos días de máquinas virtuales comunes, la memoria física desde el punto de vista de la máquina puede no ser realmente una memoria física real.


RSS es el tamaño del conjunto residente y se utiliza para mostrar cuánta memoria se asigna a ese proceso y está en la RAM. No incluye memoria que se haya intercambiado. Incluye memoria de bibliotecas compartidas siempre que las páginas de esas bibliotecas estén realmente en la memoria. Incluye toda la pila y la memoria del montón.

VSZ es el tamaño de la memoria virtual. Incluye toda la memoria a la que puede acceder el proceso, incluida la memoria intercambiada, la memoria asignada pero no utilizada y la memoria de bibliotecas compartidas.

Por lo tanto, si el proceso A tiene un binario de 500 K y está vinculado a 2500 K de bibliotecas compartidas, tiene 200 K de asignaciones de pila / pila, de las cuales 100 K está realmente en la memoria (el resto se intercambia o no se utiliza) y solo ha cargado 1000 K de las bibliotecas compartidas y 400K de su propio binario entonces:

RSS: 400K + 1000K + 100K = 1500K VSZ: 500K + 2500K + 200K = 3200K

Como parte de la memoria está compartida, muchos procesos pueden usarla, por lo tanto, si suma todos los valores RSS, puede terminar fácilmente con más espacio del que tiene su sistema.

Es posible que la memoria asignada no esté en RSS hasta que el programa la utilice realmente. Entonces, si su programa asignó un montón de memoria por adelantado, luego lo usa con el tiempo, podría ver el RSS subiendo y VSZ permanecería igual.

También hay PSS (tamaño de conjunto proporcional). Esta es una medida más nueva que rastrea la memoria compartida como una proporción utilizada por el proceso actual. Así que si hubieran dos procesos usando la misma biblioteca compartida de antes:

PSS: 400K + (1000K/2) + 100K = 400K + 500K + 100K = 1000K

Todos los subprocesos comparten el mismo espacio de direcciones, por lo que el RSS, VSZ y PSS para cada subproceso son idénticos a todos los otros subprocesos en el proceso. Use ps o top para ver esta información en linux / unix.

Hay mucho más que esto, para obtener más información, consulte las siguientes referencias:

Ver también: