YeiZeta

Optimizar el rendimiento del sistema (THE JOKER HACK)

Nov 18th, 2012
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.68 KB | None | 0 0
  1. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. /*
  3. /* # # # #
  4. /* # # # #
  5. /* # # # #
  6. /* # ## #### ## #
  7. /* ## ## ###### ## ##
  8. /* ## ## ###### ## ##
  9. /* ## ## #### ## ##
  10. /* ### ############ ###
  11. /* ########################
  12. /* ##############
  13. /* ######## ########## #######
  14. /* ### ## ########## ## ###
  15. /* ### ## ########## ## ###
  16. /* ### # ########## # ###
  17. /* ### ## ######## ## ###
  18. /* ## # ###### # ##
  19. /* ## # #### # ##
  20. /* ## ##
  21.  
  22. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  23. Optimizar el rendimiento del sistema
  24.  
  25. Escrito por Juliako. Se incluyen textos de otras publicaciones. Fecha: 17-04-04.
  26.  
  27.  
  28.  
  29. Dejando aparte la elección de programas más ligeros, me concentraré en dos puntos básicos:
  30.  
  31. 1 - Eliminar servicios innecesarios.
  32. 2 - Habilitar DMA para el disco duro, y cdroms si procede.
  33.  
  34. Por supuesto, se puede hacer mucho más pero esto es lo que controlo. Espero de otros para que
  35. amplien y mejoren este artículo.
  36.  
  37. Durante el arranque del sistema, se inician una serie de servicios, algunos esenciales, otros no.
  38. Cada distribución de Linux tiene una forma diferente de hacer las cosas, así que unas inician solo
  39. servicios esenciales, y otras como Red Hat o Mandrake inician por defecto otros servicios "por si acaso",
  40. para hacer el manejo del sistema más fácil para el usuario novel. Eliminándolos ahorraremos memoria
  41. y reduciremos el tiempo de arranque del sistema operativo.
  42.  
  43. Primero debemos saber cual es nuestro runlevel. Para eso miraremos el archivo /etc/inittab. Donde
  44. dice:
  45.  
  46. id:3:initdefault
  47.  
  48. En este caso nos indica que nuestro runlevel por defecto es el 3. En la carpeta /etc/rc.d (puede variar
  49. en tu caso) están las carpetas rcx.d en la que cada cual tiene los servicios que se ejecutan en su runlevel
  50. correspondiente. Nuestro runlevel es el 3, así que nos metemos en rc3.d.
  51.  
  52. Veremos unos scripts, y los que nos interesan son los que empiezan por S. NO vamos a borrarlos, por si
  53. acaso nos equivocamos y realmente necesitabamos ese servicio. Bastará con renombrarlos, cambiando
  54. la S por una s minúscula, podremos deshacer cualquier error. Si tienes un servicio que no haya nombrado
  55. abajo, pregunta en el foro.
  56.  
  57. Alsa: inicia el sonido si durante la instalación se configuró con este driver. Si no, no es necesario.
  58.  
  59. Apmd: para portátiles, comprueba la batería y cuando esté baja apaga correctamente el sistema. En un pc
  60. lo podemos borrar.
  61.  
  62. Autofs: monta automáticamente sistemas de ficheros bajo demanda. Podemos eliminarlo y hacer los montajes
  63. estáticos.
  64.  
  65. Crond: ejecuta tareas esenciales para el sistema cada cierto tiempo. No se quita.
  66.  
  67. Cups: el sistema de impresión. Si tu impresora usa otro sistema que no sea Cups, puedes quitarlo (recuerda lo
  68. que dije de renombrar).
  69.  
  70. Gpm: para usar el ratón en la consola si no estamos usando el entorno gráfico. Quitalo.
  71.  
  72. Harddrake: si usas Mandrake, esta es la herramienta de detección automática de hardware. Si no cambias de
  73. hardware a menudo, puedes desactivar el servicio e iniciarlo como root cuando lo necesites.
  74.  
  75. Hpoj: solo si tienes un escanner de HP.
  76.  
  77. Httpd: inicia el servidor web Apache. Si no tienes una página web alojada en tu ordenador, ya sabes.
  78.  
  79. Inetd: daemon de los servicios de internet. Se queda.
  80.  
  81. Iptables: el firewall. Aprende a protejer tu máquina.
  82.  
  83. Iplog: hace logs de conexiones TCP, UDP Y ICMP. Quitalo.
  84.  
  85. Kdm: el login manager de KDE.
  86.  
  87. Keytable: carga los códigos de teclado de nuestro idioma. Si lo desactivas solo podrás usar el teclado americano.
  88.  
  89. Kudzu: herramienta de detección de hardware de Red Hat. Igual que Harddrake, desactivalo y ejecutalo cuando lo
  90. necesites.
  91.  
  92. Mon: monitorización remota del sistema. No lo necesitamos.
  93.  
  94. Mysql: si no usas esta base de datos, desactivalo.
  95.  
  96. Netfs: monta los sistemas de ficheros remotos de red, NFS, SMB y NCP. Eso se puede hacer mucho mejor con un
  97. programa llamado Samba, así que fuera.
  98.  
  99. Network: está claro que se queda.
  100.  
  101. Nfs: si tu pc no es un servidor NFS, quitalo.
  102.  
  103. Nfslock: necesario para un servidor NFS. Quitalo.
  104.  
  105. Numlock: activa el teclado numérico. No afecta al rendimiento.
  106.  
  107. Portmap: no tengo claro para que sirve, pero lo puedes quitar sin problemas.
  108.  
  109. Postgresql: si no usas esta base de datos, ya sabes.
  110.  
  111. Proftpd: si no quieres tener un servidor FTP en tu pc, quitalo.
  112.  
  113. Random: genera números aleatorios, no se cual es su utilidad, pero se recomienda tenerlo.
  114.  
  115. Rawdevices: servicio usado por la base de datos Oracle para manejar dispositivos "crudos". No creo que uses
  116. Oracle en tu casa.
  117.  
  118. Smb: si usas Samba.
  119.  
  120. Sound: inicia el sonido si lo hemos configurado con OSS.
  121.  
  122. Sshd: si usas SSH para realizar conexiones seguras.
  123.  
  124. Syslog: gestor de históricos. No se debe quitar.
  125.  
  126. Webmin: si no usas este programa para configurar tu pc, quitalo.
  127.  
  128. Xfs: servidor de fuentes de Xwindow. se queda.
  129.  
  130. Xinetd: daemon de los servicios de internet. Se queda.
  131.  
  132. Vuelvo a repetir, no borres los scripts, renombralos cambiando la S por una s minúscula.
  133.  
  134.  
  135.  
  136. Cuando no se usa el entorno gráfico y trabajas en modo texto, se activan seis terminales, que puedes cambiar
  137. pulsando Alt - F1 para la primera, Alt - F2 para la segunda, etc. Sería raro que necesitaras más de tres, así que
  138. vuelve al archivo /etc/inittab:
  139.  
  140. 1:2345:respawn:/sbin/agetty 38400 vc/1 linux
  141. 2:2345:respawn:/sbin/agetty 38400 vc/2 linux
  142. 3:2345:respawn:/sbin/agetty 38400 vc/3 linux
  143. 4:2345:respawn:/sbin/agetty 38400 vc/4 linux
  144. 5:2345:respawn:/sbin/agetty 38400 vc/5 linux
  145. 6:2345:respawn:/sbin/agetty 38400 vc/6 linux
  146.  
  147. (El formato puede variar en tu distribución).
  148.  
  149. Cada una usa unos 500 Kb de memoria, así que pon una # delante de las terminales 4, 5 y 6 para desactivarlas, así:
  150.  
  151. #4:2345:respawn:/sbin/agetty 38400 vc/4 linux
  152. #5:2345:respawn:/sbin/agetty 38400 vc/5 linux
  153. #6:2345:respawn:/sbin/agetty 38400 vc/6 linux
  154.  
  155. Guarda los cambios y ejecuta "init q".
  156.  
  157.  
  158.  
  159. DMA
  160.  
  161. El acceso directo a memoria permite que dispositivos como el disco duro o el cdrom puedan escribir en la memoria
  162. librando del trabajo al procesador. De ese modo, el disco duro puede pasar de una velocidad de lectura de 3 Mb por
  163. segundo a 40 Mb. En el caso de los cdroms y grabadoras yo prefiero usar la emulación SCSI.
  164.  
  165. Usaremos Hdparm para hacer esas optimizaciones. Podemos comprobar la velocidad del disco duro así:
  166.  
  167. hdparm -t /dev/hda
  168.  
  169. Si es que tu disco duro está en /dev/hda. Información sobre el disco duro:
  170.  
  171. hdparm -I /dev/hda
  172.  
  173. Para saber que modos están activados:
  174.  
  175. hdparm -dcm /dev/hda
  176.  
  177. 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
  178. de sectores múltiple). Lo cual nos dá algo como esto:
  179.  
  180. /dev/hda:
  181. multcount = 0 (off)
  182. IO_support = 0 (default 16-bit)
  183. using_dma = 1 (on)
  184.  
  185. En este caso el DMA ya estaba activado, pero si no se activa así:
  186.  
  187. hdparm -d1 /dev/hda
  188.  
  189. El acceso a disco de 32 bits no estaba activado, así que ejecutamos::
  190.  
  191. hdparm -c1 /dev/hda
  192.  
  193. Obtendremos este mensaje:
  194.  
  195. /dev/hda:
  196. setting 32-bit IO_support flag to 1
  197. IO_support = 1 (32-bit)
  198.  
  199. Y ahora cuidado con esto. Cuando ejecutamos "hdparm -I /dev/hda" para obtener información del disco duro, debemos
  200. leer cual es el multsect máximo soportado, 8 o 16. Si leemos esto:
  201.  
  202. R/W multiple sector transfer: Max = 16 Current = ?
  203.  
  204. Es que podemos ponerlo a 16, así que ejecutamos:
  205.  
  206. hdparm -m16 /dev/hda
  207.  
  208. Lo cual nos dá este mensaje:
  209.  
  210. /dev/hda:
  211. setting multcount to 16
  212. multcount = 16 (on)
  213.  
  214. Los cambios no se quedan después de reiniciar, así que debemos escribir los comandos en el archivo donde se configuren
  215. los programas que quieres que se ejecuten en el inicio. En mi caso es /etc/rc.local. Editalo para añadir esta linea:
  216.  
  217. hdparm -d1 -c1 -m16 /dev/hda
  218.  
  219. Y ya está. Vamos a ver como corre:
  220.  
  221. hdparm -t /dev/hda
  222.  
  223. /dev/hda:
  224. Timing buffered disk reads: 120 MB in 3.02 seconds = 39.68 MB/sec
Add Comment
Please, Sign In to add comment