Mostrando entradas con la etiqueta optimizacion. Mostrar todas las entradas
Mostrando entradas con la etiqueta optimizacion. Mostrar todas las entradas

martes, 4 de septiembre de 2007

optimizando debian al máximo

Para los que tengais algún cacharro viejo y querais darle algún uso (más allá de servidor casero o criador de polvo) diré que optimizando "un poco" debian consume aproximadamente 20Mb de ram, con una resolución de 1024x768. Mi equipo en cuestión, imac g3 bondi blue, consta de 233Mhz, 64Mb de ram, y 4'3gb de HD y optimizado se puede usar diariamente sin (más o menos) perder la paciencia, Para que os hagais una idea... Hasta veo divx! :D

- Cómo puedo optimizarlo yo también?
Pueeeeeeees... Manos a la obra!

En mi caso he partido de una instalación de debian etch netinstall para ppc para conseguir que no sólo consumiese pocos recursos sino que también consumiese poco disco. Así que una vez instalado el sistema base...:

- Quitar noatime de las particiones

Linux graba cuando fueron creados los archivos y cuando fue su última modificación, poniendo noatime en nuestros sistemas de fichero conseguimos que no lo haga con el consecuente ahorro de escrituras/lecturas en disco, para hacer esto puedes modificar los parámetros de montaje de los sistemas de fichero en la instalación del sistema o más tarde editando el fstab y añadiendo la opción noatime (para la swap no hace falta):

# vim /etc/fstab

Y añadirlo en las opciones:

/dev/hda4 / ext3 noatime,errors=remount-ro 0 0

javier:
Si estás utilizando ese mini sistema como servidor (lo digo porque con las X de hoy en día, por mucho ION que le pongas se arrastrará) no es conveniente añadir la opción de noatime, ya que así dejas de tener información valiosa como la que esa directiva te priva, sobretodo en temas de forensics o simplemente al hace reports.



- Desactivar las consolas virtuales

Las consolas virtuales son las de alt+Fx, normalmente están sin usar, así que podemos desactivarlas todas y dejar una por si acaso, para desactivarlas hay que editar el fichero inittab y comentar unas líneas:

# vim /etc/inittab

Comentar las líneas de las tty, recordad dejar al menos una!, algo parecido a:


#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6


- No instalar ningún display manager (kdm, gdm, xdm...)

Parece que no, pero se ahorra "mucha" memoria evitando el uso de un display manager, sin el display manager podemos iniciar sesión en consola y lanzar el entorno gráfico de forma manual con el comando startx (Si tuviésemos varios habría que poner startENTORNO, pero como es un howto para máquinas poco potentes asumo que solo vamos a instalar uno).

- Instalar una interfaz ligera

Después de instalar x-window-system-core deberíamos instalar una interfaz... Hay un montón de interfaces ligeras: fluxbox, fvwm, fvwm-crystal, icewm, xfce4... Yo he escogido xfce4, consume solo 9Mb más de ram que fluxbox o fvwm-crystal y para lo que quería yo me venía mejor por ser gtk.

- Reducir el consumo de swap

Cuando una máquina cae en el swapping empieza el estrés, todo va infinitamente lento y más en este tipo de máquinas que ya son lentas por naturaleza más... Para evitar el consumo de swap a la ligera podemos editar el fichero swappiness que controla la tendencia del kernel al swapping (por defecto es de 60).

# echo 10 > /proc/sys/vm/swappiness

- Reconfigurar la calidad del color del entorno gráfico

Nosotros no podemos distinguir entre 16bits y 24bits, pero nuestra tarjeta gráfica sí...

# dpkg-reconfigure xserver-xorg


- "Capar" los servicios que no usamos

Digo capar porque basta con quitarles los permisos para que no se ejecuten al inicio, así si capamos alguno que no debemos o necesitamos uno más adelante podemos darle permisos y ejecutarlo a mano, como los servicios son muchos y varían dependiendo de la máquina que cada uno utilice el google para saber cuales puede capar.

Ir al directorio init.d

$ cd /etc/init.d


Ver qué servicios se ejecutan al inicio

$ ls


Capar los servicios que no usemos

# chmod 000 <>

javier:
La eliminación de servicios que no se usan ha de hacerse de otra forma: quitar permisos en /etc/init.d no es el camino porque impides que se ejecuten y, si tu mismo quieres arrancar un servicio en un momento determinado te tocará otorgar de nuevo permiso de ejecución (o lectura macho, que has puesto un chmod 000 xDD). Lo que has de hacer es eliminar el enlace simbólico del servicio en su runlevel correspondiente. En Gentoo sería en /etc/runlevels, en Debian o CentOS (por ejemplo) se hace en /etc/rcX.d, siendo la X el runlevel.


*Actualizado (06/09/2007):


- Activar DMA

DMA es el acceso directo a memoria, los dispositivos lo usan para poder leer/escribir sin depender de la cpu, si podeis lo deberíais activar en disco duro y cdrom.

Instalar hdparm:

# apt-get install hdparm


Consultar la información del dispositivo

# hdparm /dev/hda

Si aparece 'using_dma = 1 (on)', sino podemos activarla temporalmente con el comando:

# hdparm -d1 /dev/hda

Para activar el DMA siempre hay que editar el fichero /etc/hdparm.conf y descomentar las líneas del dispositivo y de hdparm.

Abrir el archivo para editar

# vim /etc/hdparm.conf


Buscar la sección del dispositivo

#/dev/hda {
# mult_sect_io = 16
# write_cache = off
# dma = on
#}



Dejarla:

/dev/hda {
# mult_sect_io = 16
# write_cache = off
dma = on
}


Guardar y reiniciar.

*Actualizado (14/09/2007): He añadido unos matices que dejó javier en los comentarios que me parecen interesantes y que debrería haber puesto :P

Si conoceis algún "truco" más que no haya puesto dejadlo como comentario y lo iré añadiendo al post, todos los agradeceremos ;D