Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- /*
- /* # # # #
- /* # # # #
- /* # # # #
- /* # ## #### ## #
- /* ## ## ###### ## ##
- /* ## ## ###### ## ##
- /* ## ## #### ## ##
- /* ### ############ ###
- /* ########################
- /* ##############
- /* ######## ########## #######
- /* ### ## ########## ## ###
- /* ### ## ########## ## ###
- /* ### # ########## # ###
- /* ### ## ######## ## ###
- /* ## # ###### # ##
- /* ## # #### # ##
- /* ## ##
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- Optimizar el rendimiento del sistema
- Escrito por Juliako. Se incluyen textos de otras publicaciones. Fecha: 17-04-04.
- Dejando aparte la elección de programas más ligeros, me concentraré en dos puntos básicos:
- 1 - Eliminar servicios innecesarios.
- 2 - Habilitar DMA para el disco duro, y cdroms si procede.
- Por supuesto, se puede hacer mucho más pero esto es lo que controlo. Espero de otros para que
- amplien y mejoren este artículo.
- Durante el arranque del sistema, se inician una serie de servicios, algunos esenciales, otros no.
- Cada distribución de Linux tiene una forma diferente de hacer las cosas, así que unas inician solo
- servicios esenciales, y otras como Red Hat o Mandrake inician por defecto otros servicios "por si acaso",
- para hacer el manejo del sistema más fácil para el usuario novel. Eliminándolos ahorraremos memoria
- y reduciremos el tiempo de arranque del sistema operativo.
- Primero debemos saber cual es nuestro runlevel. Para eso miraremos el archivo /etc/inittab. Donde
- dice:
- id:3:initdefault
- En este caso nos indica que nuestro runlevel por defecto es el 3. En la carpeta /etc/rc.d (puede variar
- en tu caso) están las carpetas rcx.d en la que cada cual tiene los servicios que se ejecutan en su runlevel
- correspondiente. Nuestro runlevel es el 3, así que nos metemos en rc3.d.
- Veremos unos scripts, y los que nos interesan son los que empiezan por S. NO vamos a borrarlos, por si
- acaso nos equivocamos y realmente necesitabamos ese servicio. Bastará con renombrarlos, cambiando
- la S por una s minúscula, podremos deshacer cualquier error. Si tienes un servicio que no haya nombrado
- abajo, pregunta en el foro.
- Alsa: inicia el sonido si durante la instalación se configuró con este driver. Si no, no es necesario.
- Apmd: para portátiles, comprueba la batería y cuando esté baja apaga correctamente el sistema. En un pc
- lo podemos borrar.
- Autofs: monta automáticamente sistemas de ficheros bajo demanda. Podemos eliminarlo y hacer los montajes
- estáticos.
- Crond: ejecuta tareas esenciales para el sistema cada cierto tiempo. No se quita.
- Cups: el sistema de impresión. Si tu impresora usa otro sistema que no sea Cups, puedes quitarlo (recuerda lo
- que dije de renombrar).
- Gpm: para usar el ratón en la consola si no estamos usando el entorno gráfico. Quitalo.
- Harddrake: si usas Mandrake, esta es la herramienta de detección automática de hardware. Si no cambias de
- hardware a menudo, puedes desactivar el servicio e iniciarlo como root cuando lo necesites.
- Hpoj: solo si tienes un escanner de HP.
- Httpd: inicia el servidor web Apache. Si no tienes una página web alojada en tu ordenador, ya sabes.
- Inetd: daemon de los servicios de internet. Se queda.
- Iptables: el firewall. Aprende a protejer tu máquina.
- Iplog: hace logs de conexiones TCP, UDP Y ICMP. Quitalo.
- Kdm: el login manager de KDE.
- Keytable: carga los códigos de teclado de nuestro idioma. Si lo desactivas solo podrás usar el teclado americano.
- Kudzu: herramienta de detección de hardware de Red Hat. Igual que Harddrake, desactivalo y ejecutalo cuando lo
- necesites.
- Mon: monitorización remota del sistema. No lo necesitamos.
- Mysql: si no usas esta base de datos, desactivalo.
- Netfs: monta los sistemas de ficheros remotos de red, NFS, SMB y NCP. Eso se puede hacer mucho mejor con un
- programa llamado Samba, así que fuera.
- Network: está claro que se queda.
- Nfs: si tu pc no es un servidor NFS, quitalo.
- Nfslock: necesario para un servidor NFS. Quitalo.
- Numlock: activa el teclado numérico. No afecta al rendimiento.
- Portmap: no tengo claro para que sirve, pero lo puedes quitar sin problemas.
- Postgresql: si no usas esta base de datos, ya sabes.
- Proftpd: si no quieres tener un servidor FTP en tu pc, quitalo.
- Random: genera números aleatorios, no se cual es su utilidad, pero se recomienda tenerlo.
- Rawdevices: servicio usado por la base de datos Oracle para manejar dispositivos "crudos". No creo que uses
- Oracle en tu casa.
- Smb: si usas Samba.
- Sound: inicia el sonido si lo hemos configurado con OSS.
- Sshd: si usas SSH para realizar conexiones seguras.
- Syslog: gestor de históricos. No se debe quitar.
- Webmin: si no usas este programa para configurar tu pc, quitalo.
- Xfs: servidor de fuentes de Xwindow. se queda.
- Xinetd: daemon de los servicios de internet. Se queda.
- Vuelvo a repetir, no borres los scripts, renombralos cambiando la S por una s minúscula.
- Cuando no se usa el entorno gráfico y trabajas en modo texto, se activan seis terminales, que puedes cambiar
- pulsando Alt - F1 para la primera, Alt - F2 para la segunda, etc. Sería raro que necesitaras más de tres, así que
- vuelve al archivo /etc/inittab:
- 1:2345:respawn:/sbin/agetty 38400 vc/1 linux
- 2:2345:respawn:/sbin/agetty 38400 vc/2 linux
- 3:2345:respawn:/sbin/agetty 38400 vc/3 linux
- 4:2345:respawn:/sbin/agetty 38400 vc/4 linux
- 5:2345:respawn:/sbin/agetty 38400 vc/5 linux
- 6:2345:respawn:/sbin/agetty 38400 vc/6 linux
- (El formato puede variar en tu distribución).
- Cada una usa unos 500 Kb de memoria, así que pon una # delante de las terminales 4, 5 y 6 para desactivarlas, así:
- #4:2345:respawn:/sbin/agetty 38400 vc/4 linux
- #5:2345:respawn:/sbin/agetty 38400 vc/5 linux
- #6:2345:respawn:/sbin/agetty 38400 vc/6 linux
- Guarda los cambios y ejecuta "init q".
- DMA
- El acceso directo a memoria permite que dispositivos como el disco duro o el cdrom puedan escribir en la memoria
- librando del trabajo al procesador. De ese modo, el disco duro puede pasar de una velocidad de lectura de 3 Mb por
- segundo a 40 Mb. En el caso de los cdroms y grabadoras yo prefiero usar la emulación SCSI.
- Usaremos Hdparm para hacer esas optimizaciones. Podemos comprobar la velocidad del disco duro así:
- hdparm -t /dev/hda
- Si es que tu disco duro está en /dev/hda. Información sobre el disco duro:
- hdparm -I /dev/hda
- Para saber que modos están activados:
- hdparm -dcm /dev/hda
- d para DMA, c para Acceso a disco (por defecto es de 16 bits pero debería ser de 32), y m para multsect (transferencia
- de sectores múltiple). Lo cual nos dá algo como esto:
- /dev/hda:
- multcount = 0 (off)
- IO_support = 0 (default 16-bit)
- using_dma = 1 (on)
- En este caso el DMA ya estaba activado, pero si no se activa así:
- hdparm -d1 /dev/hda
- El acceso a disco de 32 bits no estaba activado, así que ejecutamos::
- hdparm -c1 /dev/hda
- Obtendremos este mensaje:
- /dev/hda:
- setting 32-bit IO_support flag to 1
- IO_support = 1 (32-bit)
- Y ahora cuidado con esto. Cuando ejecutamos "hdparm -I /dev/hda" para obtener información del disco duro, debemos
- leer cual es el multsect máximo soportado, 8 o 16. Si leemos esto:
- R/W multiple sector transfer: Max = 16 Current = ?
- Es que podemos ponerlo a 16, así que ejecutamos:
- hdparm -m16 /dev/hda
- Lo cual nos dá este mensaje:
- /dev/hda:
- setting multcount to 16
- multcount = 16 (on)
- Los cambios no se quedan después de reiniciar, así que debemos escribir los comandos en el archivo donde se configuren
- los programas que quieres que se ejecuten en el inicio. En mi caso es /etc/rc.local. Editalo para añadir esta linea:
- hdparm -d1 -c1 -m16 /dev/hda
- Y ya está. Vamos a ver como corre:
- hdparm -t /dev/hda
- /dev/hda:
- Timing buffered disk reads: 120 MB in 3.02 seconds = 39.68 MB/sec
Add Comment
Please, Sign In to add comment