La contabilidad de memoria por proceso es complicada por varias razones por las que entraré en un minuto. Para una supervisión simple, gkrellmd o scripts nagios probablemente sea suficiente. Si desea una mayor precisión, deberá buscar más.
smem presenta el concepto de Tamaño de conjunto proporcional :
Debido a que grandes porciones de memoria física generalmente se comparten entre múltiples aplicaciones, la medida estándar del uso de memoria conocida como tamaño de conjunto residente (RSS) sobreestimará significativamente el uso de memoria. En cambio, PSS mide el "reparto justo" de cada aplicación de cada área compartida para dar una medida realista.
Ejemplo: inicia GNOME, provocando que se inicien varios procesos, uno para cada applet y programa. Todos se vinculan a libglib. Linux carga libglib en un bloque de memoria y lo asigna a cada proceso que quiere libglib. La contabilidad de memoria ingenua cuenta el tamaño completo de libglib contra cada proceso que se vincula a él.
smem divide el costo de libglib entre los procesos que lo utilizan, para dar una imagen más cercana de la realidad. También tiene una serie de opciones para mostrar el uso de la memoria (del sitio web):
- Mostrar información básica del proceso smem
- Mostrar vista del sistema smem -R 4G -K / ruta / a / vmlinux -w
- Mostrar totales y porcentajes smem -t -p
- Mostrar diferentes columnas smem -c "nombre de usuario pss"
- Mostrar procesos filtrados por mapeo smem -M libxml
- Mostrar asignaciones filtradas por proceso smem -m -P [e] volution
- Leer los datos de captura tarball smem --source capture.tar.gz
- Mostrar un gráfico de barras etiquetado por pid smem --bar pid -c "pss uss"
- Muestra un gráfico circular de RSS etiquetado por nombre smem --pie name -s rss
Sin embargo, necesitará un kernel muy reciente (> 2.6.27).