Cuando se inicia un proceso, el sistema operativo asigna la cantidad de memoria que el proceso requiere para funcionar. Cada proceso tiene cuatro segmentos de memoria para el código ejecutable y datos . El segmento de "código " contiene las instrucciones ejecutables . El segmento de "data" contiene las variables estáticas y globales. La " pila " contiene las variables locales . El "montón " contiene objetos asignados dinámicamente. Los procesos pueden utilizar bibliotecas compartidas. Bibliotecas compartidas sólo se cargan en la memoria una vez, y todos los procesos que utilizan una biblioteca compartida en particular usarán esa copia.
Qué estadísticas de memoria ¿Informa Linux?
Memoria virtual
la cantidad total del espacio de direcciones reservado por el sistema operativo para el proceso de su código , datos y pila . El tamaño de la memoria virtual informa Linux incluye todos los códigos , datos y espacio de pila reservado para el uso de un proceso , tanto en la memoria física y swap . Este valor incluye el espacio utilizado por todas las bibliotecas compartidas utilizadas por el proceso. La implicación de esto es que las bibliotecas compartidas cuentan en su totalidad hacia el tamaño de un determinado proceso .
El tamaño de la memoria residente de un proceso informado por Linux incluye solamente la cantidad de memoria física del proceso y las bibliotecas compartidas que hace referencia están utilizando en un momento dado . Segmentos trasladado a espacio de intercambio no están incluidos. Al igual que con el tamaño de la memoria virtual, tamaño de la memoria residente incluye el espacio utilizado por las bibliotecas compartidas.
Cómo ver una instantánea de proceso simple con ps
La utilidad ps proporciona una instantánea de los procesos que se ejecutan en el sistema , informando el tamaño virtual y residente en memoria , CPU y los porcentajes de memoria , y una amplia variedad de información . Analizar un solo proceso , utilice las siguientes opciones para ps , incluyendo vsz para el tamaño de la memoria virtual, y rss para el tamaño de la memoria residente. Por ejemplo ,
ps p 3746 o pid , rss, vsz , comm
salidas
para el proceso de 3746 :
PID RSS VSZ COMMAND3746 14444 351216 httpd2
de ejecución de top
La utilidad superior proporciona una imagen en directo del rendimiento del sistema. Para controlar uno o más procesos específicos con la parte superior , utilice la opción - p para proporcionar una lista de los identificadores de proceso . Por ejemplo :
top- p 3746,6100,28753,23176,25544
Después de lanzar la parte superior, pulse la tecla de comando "f" para acceder a la pantalla de selección de la columna . Encienda la pantalla para el PID , VIRT , RES , SHR, SWAP , código, datos y columnas de comandos. Como se muestra en la captura de pantalla, la pantalla muestra las siguientes estadísticas de memoria :
Virt : sizeRES memoria virtual : Resident sizeSHR memoria : La memoria compartida sizeSWAP : sizecode Swapped : tamaño del código en memoryDATA física : Los datos más el tamaño de pila en memoria física
Echar un vistazo en /proc
estado detallado y la información de uso de memoria del proceso se encuentra en /proc / VmPeak : Pico sizeVmSize memoria virtual : memoryVmData Virtual : sizeVmStk segmento de datos : Pila sizeVmExe : sizeVmLib segmento ejecutable: Biblioteca código de tamaño /proc /
.