Mortuux

Diario de un estudiante geek. Informática, tecnología, programación, redes, sistemas operativos, bases de datos…

Archivos por Etiqueta: memoria

Obteniendo información desde /proc con procinfo.

En  /proc podemos encontrar toda una fuente de información sobre nuestro sistema, y para facilitarnos la tarea, tenemos el comando procinfo, su instalación es muy sencilla:

# apt-get install procinfo

Luego lo ejecutamos con

# procinfo

Y nos mostrará la información del sistema.

Memory: Muestra el total de ram libre y ocupada. También muestra el swap

Bootup: Hora de inicio del sistema.

Load average: Media de ‘jobs’ corriendo, seguido por el número de procesos ejecutables y el número total de procesos, seguido por el PID de el último proceso ejecutado.

User: Cantidad de tiempo empleada en correr ‘jobs’ en el espacio del usuario

Nice: Cantidad de tiempo empleada en ejecutar ‘niced jobs’ en el espacio del usuario

System: Cantidad de tiempo empleada ejecutada en el espacio del kernel

Idle: Cantidad de tiempo sin hacer nada

Uptime: Tiempo que ha estado el sistema activo

Page in: Número de bloques del disco paginados en el núcleo del disco.

Page out: Número de bloques del disco paginados fuera del disco.

Swap in: Número de páginas de memoria paginadas a el swap

Swap out: Número de páginas de memoria paginadas fuera del swap

Interrupts: Número de interrupciones servidas desde que se inició el sistema.

La información completa la puedes encontrar en el respectivo manual del comando.

Optimizar el uso de la RAM y del Swap en Linux.

La mayoría de los sistemas operativos modernos poseen un mecanismo llamado memoria virtual, que permite hacer creer a los programas que tienen más memoria que la disponible realmente; por ejemplo, 4 Gb en un ordenador de 32 bits. Como en realidad no se tiene físicamente toda esa memoria, algunos procesos no podrán ser ubicados en la memoria RAM.
En este caso es cuando es útil el espacio de intercambio: el sistema operativo puede buscar un proceso poco activo, y moverlo al área de intercambio (el disco duro) y de esa forma liberar la memoria principal para cargar otros procesos. Mientras no haga falta, el proceso extraído de memoria puede quedarse en el disco, ya que ahí no gasta memoria física. Cuando sea necesario, el sistema vuelve a hacer un intercambio, pasándolo del disco a memoria RAM. Es un proceso lento (comparado con usar sólo la memoria RAM), pero permite dar la impresión de que hay más memoria disponible.

En Linux, existe un parámetro llamado ‘swappiness‘ cuyo valor estará situado entre 0 y 100. El valor 0 dará mucha más prioridad a la ram que al swap, y si el valor es 100 al revés.

Para poder ver el swappiness que tenemos en nuestro sistema, hacemos lo siguiente:

$ cat /proc/sys/vm/swappiness

60

El valor por defecto es 60.

Para cambiarlo tenemos que hacer lo siguiente:

# sysctl vm.swappiness=45

En el caso de que queramos un valor de 45.

Este cambio no es persistente, y al reiniciar perderemos el cambio. Para que el cambio se quede guardado hacemos lo siguiente:

# vim /etc/sysctl.conf

Buscamos la línea y cambiamos el valor (si no está la añadimos)

vm.swappiness=45

Guardamos y listo, ya tenemos cambiado el valor de nuestro swappiness.

 

Encontrar el proceso que consume más ram en Linux

Hay varias formas de hacerlo, la primera sería utilizando awk y sort

ps aux | awk '{print $2, $4, $11}' | sort -k2r | head -n 20

 

Esto nos mostraría algo así:

 

Otra forma sería utilizar el comando ‘top‘ y pulsar la tecla ‘>’, así directamente nos lo ordenará por consumo de RAM.

 

Y la última forma es utilizar el comando ‘htop‘ y de la misma forma pulsar la tecla ‘>’, pero aquí nos preguntará que es lo que queremos ordenar:

 

 

 

Via: Go2Linux