Solaris: Slab allocator

Kernel, OpenSolaris, Solaris, mdb Sin Comentarios »

La gestión de memoria que hace el Kernel de un sistema operativo no se diferencia mucho de la que se debería hacer con cualquier otro software, excepto en una cosa, es difícil realizar una predicción sobre las necesidades de memoria que van a tener los distintos procesos que se estén ejecutando en el sistema, para ellos el Kernel debe estar continuamente reservando pedazos de memoria para la gestión del sistema, Leer el resto de la entrada »

Solaris: Problema de lentitud en Solaris 10

Solaris, Tuning, dtrace, mdb 8 Comentarios »

Normalmente no suelo contar demasiado sobre el día a día de mi trabajo, pero a veces ocurren cosas curiosas que creo que son interesantes contarlas, sobre todo, por si pueden ser de ayuda para otros que se encuentren con el mismo problema, o por lo menos parecido. La semana pasada unos compañeros del departamento Leer el resto de la entrada »

¿ Sabías que con mdb puedes ver la memoria del sistema?

Sabías que, Solaris, Tuning, mdb Sin Comentarios »

La forma más rápida de ver el uso de la memoria física de nuestro sistema es ejecutando la siguiente línea de comando, que le pasa al debugger del kernel el comando “::memstat”

# echo "::memstat" | mdb -k
Page Summary                Pages                MB  %Tot
------------     ----------------  ----------------  ----
Kernel                      50136               391    3%
Anon                       356935              2788   20%
Exec and libs                4787                37    0%
Page cache                 160492              1253    9%
Free (cachelist)          1135937              8874   65%
Free (freelist)             52792               412    3%

Total                     1761079             13758

Con esta salida obtenemos una visión rápida del estado de nuestra memoria física, con 3 columnas, una en páginas, otra en MB y la última en prociento, de cuanta memoria está utilizando el Kernel, cuanta memoria está asignada como Anónima, cuanta se ha usado para el Page Cache y cuanta memoria está marcada como libre.

Si quieres saber exactamente la memoria disponible en el sistema utiliza este método, no use comandos como el vmstat.

Solaris: Analizando ficheros Core Dump (II)

Kernel, OpenSolaris, mdb Sin Comentarios »

En el post Solaris: Analizando ficheros Core Dump vimos en un sencillo ejemplo como podemos analizar los ficheros core generados por alguna de nuestras aplicaciones y cómo podemos intentar averiguar la causa de que se haya producido el fichero core. En este post veremos de una forma rápida, cómo podemos analizar el fichero core generado por el sistema después de que se haya producido un panic. Leer el resto de la entrada »

Solaris: Buceando en el Kernel con mdb (III)

Kernel, OpenSolaris, mdb Comments Off

En este artículo veremos cómo MDB nos puede ayudar a conocer el uso que está haciendo el kernel de la memoria del sistema, cuantas páginas de memoria está ocupando un proceso, el tamaño de los segmentos de una espacio de direcciones, las páginas de memoria asociadas a un vnodes, etc.

Leer el resto de la entrada »

Solaris: Buceando en el Kernel con mdb (II)

Kernel, OpenSolaris, mdb Sin Comentarios »

En el artículo anterior vimos las nociones básicas para poder utilizar el debugger, ahora vamos a ver, de una forma práctica, cómo podemos sacar provecho a mdb, para ello vamos a realizar varios ejemplos, en los que podremos obtener información de los procesos, el uso de las CPUs, los ficheros abiertos, etc.

Leer el resto de la entrada »

Solaris: Buceando en el Kernel con mdb (I)

Kernel, OpenSolaris, mdb Sin Comentarios »

MDB (Modular Debugger) es una herramienta igual de potente que desconocida para la gran mayoría de administradores de sistemas, mucha gente desconoce la potencia de este debugger, ya que la asocian con una herramienta de desarrollo y nada más lejos de la realidad, una de las funcionalidades de este debugger es que trabaja con los ficheros core que generan las aplicaciones, tal como pudimos ver en el artículo Solaris: Analizando ficheros Core Dump, el debugger nos puede ayudar a conocer las causan que provocaron el fallo, recordemos que MDB trabaja con los ficheros core, que son una imagen de memoria del proceso que ha sufrido el fallo, esto nos permitía averiguar cuales fueron la causa de dicho fallo.

MDB no solo puede trabajar con los volcados de memoria de los procesos, sino que también lo puede hacer con las imágenes de memoria del kernel mientras este está ejecutándose, esto nos permite poder acceder a toda la información, si sabemos como leerla, con la que trabaja el kernel, lista de procesos, páginas de memoria, ficheros abiertos, listas de espera, conexiones de red, bloqueos, etc.

Leer el resto de la entrada »

Solaris: Analizando ficheros Core Dump

Kernel, OpenSolaris, mdb Sin Comentarios »

Vamos a ver de una forma sencilla y rápida como podemos analizar el fichero core generado por una aplicación en nuestro sistema. No vamos a utilizar ningún tipo de herramienta, sino únicamente las que disponemos en un sistema normalmente, esto es así por que quiero enseñar lo sencillo que es intentar descubrir la causa de un core simplemente con mdb.

Leer el resto de la entrada »

My name is null, /dev/null
Algunos derechos reservados. Licencia Creative Commons