16 February, 2010

Parametros del kernel

Me sucedió con una máquina, que se le puso 1GB de memoria y luego de esto tardaba alrededor de 15 minutos iniciando con un alto consumo de CPU.

Investigando en Internet, encontré y aprendí un poco como maneja Linux la memoria, resulta que el kernel separa un espacio de memoria directamente accesible, en la cual se va mapear la parte alta de la  memoria.

Resulta que éste mapeo de la memoria tiene un costo de procesamiento, en el caso de la máquina de prueba el costo es demasiado alto, tal vez el kernel es un poco viejo, pero resulta que con el parámetro mem=896M al kernel se puede limitar la cantidad de memoria disponible, de ésta manera se trabaja sin el mapeo y el desempeño mejora, la verdad se podría intentar con un kernel más nuevo (el actual de la máquina es 2.6.18-128.2.16.v5 en CentOS 5.3) pero no vale el esfuerzo.

Resulta que buscando el valor mágico de 896M encontré que existe otro parámetro muy interesante cuando se trata de servidores Linux, de vez en cuando sucede un kernel panic, cuando esto sucede el kernel nos deja en la pantalla un mensaje del error, pero en mi caso particular me interesa que el servidor esté arriba la mayor parte del tiempo algunas veces no puedo desplazarme hasta donde está la máquina para ver el error y reiniciarla, hay un parámetro que permite que la máquina se reinicié luego de sucedido un kernel panic:

panic=X

donde X es la cantidad de segundos a esperar antes de que el kernel reinicie la máquina como último mandato.

Referencias:

http://www.cyberciti.biz/tips/10-boot-time-parameters-you-should-know-about-the-linux-kernel.html
http://kerneltrap.org/node/2450

0 comentarios: