Uso de memory en SunOS y Linux

Tengo algunas dudas con el uso de la memory.
Actualmente tengo nagios Check que mide la memory usada del command free -m en Linux. Agregué otro script para uso de memory de http://exchange.nagios.org/directory/Plugins/Operating-Systems/Solaris/check_mem-2Epl/details y mide para Solaris desde vmstat y para Linux desde /proc/meminfo , con este nuevo control a tiene mucho más uso 20% – 30% más en algunos hosts.

 ./check_mem.pl -f -w 90 -c 60 CRITICAL - 34.6% (439872 kB) free!|TOTAL=1272376KB;;;; USED=832504KB;127237;508950;; FREE=439872KB;;;; CACHES=418977KB;;;; 

esto es resultado de una nueva secuencia de commands en el host de Solaris en este host también tengo

  vmstat 1 2 kthr memory page disk faults cpu rbw swap free re mf pi po fr de sr s0 -- -- -- in sy cs us sy id 0 0 0 1184172 474856 54 222 0 0 0 0 112 8 0 0 0 231 1735 669 1 8 91 0 0 0 1175352 440948 16 58 0 0 0 0 0 0 0 0 0 229 83 190 0 3 97 

los valores de vmstat y del nuevo script son correctos. Me refiero a que el script recostack de los valores de vmstat ok. Necesito saber cuál es la mejor manera de medir el uso de la memory en Solaris y Linux, cómo puedo ver cuánto usa el sistema operativo y cuánto usa la aplicación. Es vmstat (Sunos) y /proc/meminfo (Linux) OK para eso. ?

Related of "Uso de memory en SunOS y Linux"

vmstat no es tan útil para medir el uso de la memory. No proporciona ninguna métrica que cuantifique cuánta memory virtual y física se usa y qué se está utilizando. Sin embargo, es una herramienta muy buena para medir la escasez de RAM. Solo necesita supervisar la columna sr (velocidad de exploración). Mientras se mantenga igual a cero, no debe preocuparse por la RAM. Si no es igual a cero, debe investigar qué es RAM exigente.

Tener una idea detallada de lo que está usando la memory de su sistema, además del echo ::memstat | mdb -k ya sugerido echo ::memstat | mdb -k command echo ::memstat | mdb -k , puede ejecutar prstat -n 1 -a que le dará el uso de memory por usuario, prstat -n 1 -Z para uso de zona y prstat -s rss para uso de process orderado por RAM.

En la salida de prstat , la columna SWAP muestra la memory virtual utilizada y la columna RSS , la RAM utilizada.

Sobre el uso del kernel, puede ejecutar kstat -n system_pages y kstat -n system_pages un vistazo al valor de pp_kernel .

Para responder con precisión a tu pregunta:

¿Cómo puedo ver cuánto usa el sistema operativo y cuánto usa la aplicación? ¿Está bien para eso vmstat (Sunos) y / proc / meminfo (Linux)?

No vmstat no está bien para eso en Solaris. Puede ejecutar echo ::memstat | mdb -k echo ::memstat | mdb -k y analiza su salida.

La sum de las líneas " Anon " y " Exec and libs " es la RAM utilizada por las aplicaciones. La línea " Kernel " informa la RAM utilizada por el kernel, las líneas " ZFS ... ", " Page cache " y " Free (cachelist) "muestra la RAM utilizada para almacenar datos en caching y la línea" Free (freelist) "informa sin usar, es decir, desperdicia la RAM.

Nota: todo lo anterior es sobre Solaris.

Sí, vmstat y / proc / meminfo son las mejores opciones En Solaris también puede usar el siguiente command:

 echo ::memstat | mdb –k 

Es realmente lento (puede tomar hasta 30 minutos en algunos sistemas más grandes :)), pero le dará una buena visión general del uso de la memory, tanto es utilizado por kernel, processs, ZFS calientes.