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

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.

¿ Sabías que…la variable LD_PRELOAD… ?

Nos permite construir librerías para la interposición de nuestras propias funciones en el sistema. La interposición de librerías es un método empleado, para que de forma totalmente transparente para el software compilado, podamos modificar parte de su comportamiento. La interposición se basa en que las funciones de la librería que estamos utilizando para la interposición serán utilizadas por el linkador para llamar a las funciones originales. Cuando realizamos una interposición, tenemos la opciones de llamar a la función original, cuando lo creamos conveniente. Continue reading

¿ Sabías que… en Solaris existe un fichero con todas las syscall ?

En Solaris existe el fichero /etc/name_to_sysnum, donde aparece la lista de todas las llamadas a sistema y sus identificadores, que son utilizadas en el sistema. De una versión del SO a otra versión del mismo SO pueden cambiar los IDs de las llamadas a sistema, por lo que es interesante conocer estos IDs y a qué syscall está asociada, sobre todo si desarrollamos aplicaciones que interactuen con el sistema, al estilo de truss. Continue reading