Difference between revisions of "Improving performance (Español)"

From ArchWiki
Jump to: navigation, search
(Readahead: Change to systemd readhead.)
(10 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Category: Otros recursos para el escritorio del usuario (Español)]]
+
[[Category:Hardware (Español)]]
{{i18n|Maximizing Performance}}
+
[[Category:System administration (Español)]]
 
+
[[ar:Maximizing Performance]]
 
+
[[en:Maximizing Performance]]
==Lo basico==
+
[[ja:Maximizing Performance]]
 +
[[ru:Maximizing Performance]]
 +
[[zh-CN:Maximizing Performance]]
 +
==Lo básico==
  
 
==Conoce tu sistema==
 
==Conoce tu sistema==
La mejor manera de optimizar el sistema es encontrar los cuellos de botella, son subsistemas que limitan el desempeño general. Usualmente pueden ser identificados conociendo las especificaciones del sistema, pero hay algunas indicaciones basicas:
+
La mejor manera de optimizar el sistema es encontrar los cuellos de botella, son subsistemas que limitan el desempeño general. Usualmente pueden ser identificados conociendo las especificaciones del sistema, pero hay algunas indicaciones básicas:
*Si la computadora se vuelve lenta cuando grandes aplicaciones corren. Como cuando libreoffice y firefox, son corridas a la vez, es probable que la cantidad de RAM es insuficiente. Para verificar la RAM disponible, use este comando, y observe la linea que comienza con +/-buffers:
+
*Si la computadora se vuelve lenta cuando grandes aplicaciones corren. Como cuando LibreOffice y Firefox, son corridas a la vez, es probable que la cantidad de RAM es insuficiente. Para verificar la RAM disponible, use este comando, y observe la linea que comienza con +/-buffers:
 
  $free -m
 
  $free -m
*Si el inicio es realmente lento, y si las aplicaciones toman demaciado tiempo en cargar la primera vez, pero cargan bien luego, probablemente el disco rigido sea demaciado lento. La velocidad de un disco rigido puede ser medidad usando el comando hdparam:
+
*Si el inicio es realmente lento, y si las aplicaciones toman demasiado tiempo en cargar la primera vez, pero cargan bien luego, probablemente el disco rígido sea demasiado lento. La velocidad de un disco rígido puede ser medidas usando el comando hdparam:
 
  $ hdparm -t /dev/harddrive
 
  $ hdparm -t /dev/harddrive
 
Esa es la velocidad pura de lectura, definitivamente no es una prueba de rendimiento valida, pero un valor superior a los 40MB/s ( asumiendo que el dispositivo fue testeado mientras estaba ocupado) debe ser considerado un valor decente en el desempeño del sistema.
 
Esa es la velocidad pura de lectura, definitivamente no es una prueba de rendimiento valida, pero un valor superior a los 40MB/s ( asumiendo que el dispositivo fue testeado mientras estaba ocupado) debe ser considerado un valor decente en el desempeño del sistema.
*Si la carga del CPU es consistente aunque haya RAM disponible, entonces disminuir el uso del CPU deberia ser una de las prioridades. La carga del CPU puede ser monitoreada de varias maneras, por ejemplo usando el comando top:
+
*Si la carga del CPU es consistente aunque haya RAM disponible, entonces disminuir el uso del CPU debería ser una de las prioridades. La carga del CPU puede ser monitoreada de varias maneras, por ejemplo usando el comando top:
 
  $top
 
  $top
*Si las unicas aplicaciones que demoran son las que usan Direct Rendering,  significa que estan usando la placa de video, como los repoductores de video y los juegos, mejorar la performance de video deberia ayudar. Para esto debemos verificar si el Direct Rendering esta activado. No ayudara el comando glxinfo:
+
*Si las únicas aplicaciones que demoran son las que usan Direct Rendering,  significa que están usando la placa de video, como los reproductores de video y los juegos, mejorar la performance de video debería ayudar. Para esto debemos verificar si el Direct Rendering esta activado. No ayudara el comando glxinfo:
 
  $ glxinfo | grep direct
 
  $ glxinfo | grep direct
  
 
==Lo primero a hacer==
 
==Lo primero a hacer==
 
La manera mas simple y eficiente de mejorar el desempeño general es correr aplicaciones y un entorno liviano.
 
La manera mas simple y eficiente de mejorar el desempeño general es correr aplicaciones y un entorno liviano.
*Use un [[Window Manager|administrador de ventanasr]] en vez de un  [[Desktop Environment|entorno de escritorio]].
+
*Use un [[Window Manager|administrador de ventanas]] en vez de un  [[Desktop Environment|entorno de escritorio]].
*Use un [[Desktop Environment|entorno de escritorio]] minimalista en vez de [[GNOME]] y [[KDE]]. La eleccion puede incluir [[LXDE]] o [[Xfce]].
+
*Use un [[Desktop Environment|entorno de escritorio]] minimalista en vez de [[GNOME]] y [[KDE]]. La elección puede incluir [[LXDE]] o [[Xfce]].
*Use aplicaciones livianas. Revise la [[Lightweight Software|lista de aplicaciones livianas]] y las que los usuarios del foro recomiendan[http://bbs.archlinux.org/viewtopic.php?id=41168 2007], [http://bbs.archlinux.org/viewtopic.php?id=67951 2008], [http://bbs.archlinux.org/viewtopic.php?id=78490 2009],[http://bbs.archlinux.org/viewtopic.php?id=88515 2010], and [http://bbs.archlinux.org/viewtopic.php?id=111878 2011].
+
*Use aplicaciones livianas. Revise la [[Lightweight Software|lista de aplicaciones livianas]] y las que los usuarios del foro recomiendan[https://bbs.archlinux.org/viewtopic.php?id=41168 2007], [https://bbs.archlinux.org/viewtopic.php?id=67951 2008], [https://bbs.archlinux.org/viewtopic.php?id=78490 2009],[https://bbs.archlinux.org/viewtopic.php?id=88515 2010], and [https://bbs.archlinux.org/viewtopic.php?id=111878 2011].
*Remueva los DEMONIOS innecesarios y mande a segundo plano todos los que pueda en el archivo {{Filename|/etc/rc.conf}}.
+
*Remueva los DEMONIOS innecesarios y mande a segundo plano todos los que pueda en el archivo {{ic|/etc/rc.conf}}.
  
 
===Compromiso===
 
===Compromiso===
Casi toda optimizacion acarrea inconvenientes. Las aplicaciones livianas usualmente vienen con menos caracterisias, algunos ajustes pueden desencadenar en un sistema inestables o simplente requerir timepo para implementarlos y mantenerlos. Esta pagina tratara de resaltar esos inconvenientes, pero el juicio final lo debe hacer el usuario.
+
Casi toda optimizacion acarrea inconvenientes. Las aplicaciones livianas usualmente vienen con menos características, algunos ajustes pueden desencadenar en un sistema inestables o simplemente requerir tiempo para implementarlos y mantenerlos. Esta pagina tratara de resaltar esos inconvenientes, pero el juicio final lo debe hacer el usuario.
  
 
===Test de rendimiento===
 
===Test de rendimiento===
Los efectos de la optimizacion son en su mayoria dificiles de juzgar. Sin embargo pueden ser medidos con [[benchmarking|tests de rendimiento]]
+
Los efectos de la optimizacion son en su mayoría difíciles de juzgar. Sin embargo pueden ser medidos con [[benchmarking|tests de rendimiento]]
  
 
==Dispositivos de almacenamiento==
 
==Dispositivos de almacenamiento==
 
===Eligiendo y optimizando es sistema de archivos===
 
===Eligiendo y optimizando es sistema de archivos===
Elegir el mejor sistema de archivos para un sistema especifico es muy importante por que cada uno tiene su fuerte. La [[Beginner's Guide#Filesystem Types|guia para principiantes]]  da un pequeño sumario de los mas populares.  
+
Elegir el mejor sistema de archivos para un sistema especifico es muy importante por que cada uno tiene su fuerte. La [[Beginner's Guide#Filesystem Types|guiá para principiantes]]  da un pequeño sumario de los mas populares.  
  
 
====Sumario====
 
====Sumario====
*XFS: Exelente performacnce con  archivos grandes. Lento con archivos pequeños. Una buena eleccion para /home
+
*XFS: Excelente performance con  archivos grandes. Lento con archivos pequeños. Una buena elección para /home
*Resiserfs: Exelente performance con archivos pequeños. Una muena eleccion para /var
+
*Resiserfs: Excelente performance con archivos pequeños. Una buena elección para /var
 
*Ext3: Una performance media, pero seguro.
 
*Ext3: Una performance media, pero seguro.
 
Ext4: Buen rendimiento general. Seguro, tiene algunos problemas con sqlite y algunas otras bases de datos.
 
Ext4: Buen rendimiento general. Seguro, tiene algunos problemas con sqlite y algunas otras bases de datos.
*JFS: Buen desempeño general, muy poco uso del CPU, luego de fallas electricas, se recupera muy rapido.
+
*JFS: Buen desempeño general, muy poco uso del CPU, luego de fallas eléctricas, se recupera muy rápido
*Btrfs: Gran desempeño general (mejor que ext4), seguro (una vez que pase a ser estable). Gran cantidad de caracteristicas. Aun se mantiene bajo un intenso desarrollo, se lo considera inestable. No use este sistema de archivos si no sabe bien lo que esta haciendo, se arriesga a una probable perdida de datos.
+
*Btrfs: Gran desempeño general (mejor que ext4), seguro (una vez que pase a ser estable). Gran cantidad de características Aun se mantiene bajo un intenso desarrollo, se lo considera inestable. No use este sistema de archivos si no sabe bien lo que esta haciendo, se arriesga a una probable perdida de datos.
  
 
====Opciones de montaje====
 
====Opciones de montaje====
Las opciones de montaje le ofrecen una manera sencilla de aumentar la verlocidad sin formatear. Pueden ser usadas por medio del comando mount:
+
Las opciones de montaje le ofrecen una manera sencilla de aumentar la velocidad sin formatear. Pueden ser usadas por medio del comando mount:
  $ mount -o opcion1,opcion2 /dev/particion /mnt/particion
+
  $ mount -o opcion1,opcion2 /dev/partición /mnt/partición
  
 
Para hacerlas permanentes, debe modificar /etc/fstab y hacer que queden de esta manera;
 
Para hacerlas permanentes, debe modificar /etc/fstab y hacer que queden de esta manera;
  /dev/particion /mnt/particion tipo_de_particion opcion1,opcion2 0 0
+
  /dev/partición /mnt/partición tipo_de_partición opcion1,opcion2 0 0
Un par de opciones que mejoran el rendimiento en casi todo sistema de archivos es  {Codeline|noatime,nodiratime}}. El primero es parte del conjunto de la ulima (el cual se aplica solo a los directorios. {{Codeline|noatime}} se aplica tanto a carpetas como a directorios, en algunos casos raros, por ejemplo si usa muttm puede causar problemas menores. En vez se puede usar {{Codeline|relatime}}, (realtime esta por defecto en kernels >2.6.30)
+
Un par de opciones que mejoran el rendimiento en casi todo sistema de archivos es  {Codeline|noatime,nodiratime}}. El primero es parte del conjunto de la ultima (el cual se aplica solo a los directorios. {{ic|noatime}} se aplica tanto a carpetas como a directorios, en algunos casos raros, por ejemplo si usa mutt puede causar problemas menores. En vez se puede usar {{ic|realtime}}, (realtime esta por defecto en kernels >2.6.30)
  
 
====Ext3====
 
====Ext3====
Line 61: Line 64:
 
====XFS====
 
====XFS====
 
Para una velocidad optima, cree un sistema de archivos XFS con estas opciones:
 
Para una velocidad optima, cree un sistema de archivos XFS con estas opciones:
  $ mkfs.xfs -l internal,lazy-count=1,size=128m -d agcount=2 /dev/particion
+
  $ mkfs.xfs -l internal,lazy-count=1,size=128m -d agcount=2 /dev/partición
  
Una opcion especifica de XFS que aumentara el rendimiento es {{Codeline|<nowiki>logbufs=8</nowiki>}}.  
+
Una opción especifica de XFS que aumentara el rendimiento es {{ic|<nowiki>logbufs=8</nowiki>}}.  
  
 
  #/etc/fstab
 
  #/etc/fstab
Line 69: Line 72:
  
 
==== Reiserfs ====
 
==== Reiserfs ====
La opcion de monaje {{Codeline<nowiki>data=writeback</nowiki>}} aumenta la velocidad, pero puede ocacionar que los datos se corrompan durante un fallo electrico. La opcion {{Codeline|notail}} incrementa el espacio usado por el sistema de archivos en aproximadamenteun 5%, pero tambien aumenta el desempeño general. Tambien se puede reducir el uso del disco poniendo el registro(journal) y los datos en discos separados. Esto se debe hacer cuando se crea el sistema de archivos:
+
La opción de montaje {{Codeline<nowiki>data=writeback</nowiki>}} aumenta la velocidad, pero puede ocasionar que los datos se corrompan durante un fallo eléctrico. La opción {{ic|notail}} incrementa el espacio usado por el sistema de archivos en aproximadamente un 5%, pero también aumenta el desempeño general. También se puede reducir el uso del disco poniendo el registro(journal) y los datos en discos separados. Esto se debe hacer cuando se crea el sistema de archivos:
  
 
  $ mkreiserfs –j /dev/hda1 /dev/hdb1
 
  $ mkreiserfs –j /dev/hda1 /dev/hdb1
Line 76: Line 79:
  
 
====BTRFS====
 
====BTRFS====
Btrfs is un nuevo sistema de archivos que ofrece desfragmentacion en linea (en el momento que se usa), modo optimizado para discos SDD, edicion de snapshots, cambio del tamaño de la particion sin perdida de datos y otras caracteristicas mas. Btrfs todavia esta en etapa de desarrollo y esta disponible en el kernel (posee la marca de experimental). Puede ver m,as informacion en la [http://btrfs.wiki.kernel.org/index.php/Main_Page pagina de btrfs].
+
Btrfs is un nuevo sistema de archivos que ofrece desfragmentacion en linea (en el momento que se usa), modo optimizado para discos SDD, edición de snapshots, cambio del tamaño de la particion sin perdida de datos y otras características mas. Btrfs todavía esta en etapa de desarrollo y esta disponible en el kernel (posee la marca de experimental). Puede ver m,as información en la [http://btrfs.wiki.kernel.org/index.php/Main_Page pagina de btrfs].
  
 
===== mkinitcpio.conf para btrfs =====
 
===== mkinitcpio.conf para btrfs =====
  
Cuando btrfs se no se usa como raiz, los modulos y las dependencias son cargadas cuando son requeridas. Para un sistema raiz, debe asegurarse de cargarlas en la ramdisk de inicio. El modulo de btrfs depende del modulo libcrc32c. Puede agregar crc32c en la linea de modulos de /etc/mkinitcpio.conf, de esta manera:
+
Cuando btrfs se no se usa como raíz, los módulos y las dependencias son cargadas cuando son requeridas. Para un sistema raíz, debe asegurarse de cargarlas en la ramdisk de inicio. El modulo de btrfs depende del modulo libcrc32c. Puede agregar crc32c en la linea de modulos de /etc/mkinitcpio.conf, de esta manera:
  
 
  MODULES="crc32c libcrc32c zlib_deflate btrfs"
 
  MODULES="crc32c libcrc32c zlib_deflate btrfs"
  
 
Para evitar los errores como "unknown symbol" cuando carga el modulo de btrfs.
 
Para evitar los errores como "unknown symbol" cuando carga el modulo de btrfs.
Mire tambien [http://aur.archlinux.org/packages.php?ID=33376 mkinitcpio-btrfs].
+
Mire tambien [https://aur.archlinux.org/packages.php?ID=33376 mkinitcpio-btrfs].
  
 
===Comprimiendo /usr===
 
===Comprimiendo /usr===
Una manera de aumentar la velocidad de lectura de los discos es comprimiendo los datos, lo que deriva en menos datos a leer, pero tambien significa un aumento del uso del CPU. Algunos sistemas de archivos soportan una compresion transparente, es lo mas notable de btrfs y reiserfs4, but el radio de compresion esta limitado por los bloques de 4k. Una buena alternativa es comprimir /usr en un archivo squashfs. Con bloques de 64K(128k), como se explica  en este [http://forums.gentoo.org/viewtopic-t-646289.html hilo del foro de Gentoo]. Lo que este tutorial explica basicamente es como comprimr /usr dentro de un sistema de archivos squashfs comprimido. Para luego montaro con aufs. De esta manera se ahora mucho espacio, usualmente dos tercios del tamaño original de /usr y las aplicaciones cargan rapido. Sin embargo, cada vez que una aplicación es instalada o reinstalada, esta se escribe descomprimida, entonces /usr debe ser recomprimido periodicamente. Squashfs se encuentra en  el kernel y aufs2 esta en el repositorio extra, asi que no se necesita una recompilacion del kernel lo que hace util al kernel por defecto.
+
Una manera de aumentar la velocidad de lectura de los discos es comprimiendo los datos, lo que deriva en menos datos a leer, pero también significa un aumento del uso del CPU. Algunos sistemas de archivos soportan una compresión transparente, es lo mas notable de btrfs y reiserfs4, pero el radio de compresión esta limitado por los bloques de 4k. Una buena alternativa es comprimir /usr en un archivo squashfs. Con bloques de 64K(128k), como se explica  en este [http://forums.gentoo.org/viewtopic-t-646289.html hilo del foro de Gentoo]. Lo que este tutorial explica básicamente es como comprimr /usr dentro de un sistema de archivos squashfs comprimido. Para luego montado con aufs. De esta manera se ahora mucho espacio, usualmente dos tercios del tamaño original de /usr y las aplicaciones cargan rápido. Sin embargo, cada vez que una aplicación es instalada o reinstalada, esta se escribe descomprimida, entonces /usr debe ser recomprimido periódicamente. Squashfs se encuentra en  el kernel y aufs2 esta en el repositorio extra, así que no se necesita una recompilacion del kernel lo que hace util al kernel por defecto.
Dado que la guia esta vinculada a Gentoo, los siguentes comandos describen los pasos para Arch. Basicamene debemos instalar dos paquetes para hacerlo funcionar:
+
Dado que la guia esta vinculada a Gentoo, los siguientes comandos describen los pasos para Arch. Básicamente debemos instalar dos paquetes para hacerlo funcionar:
 
  # pacman -S aufs2 squashfs-tools
 
  # pacman -S aufs2 squashfs-tools
Esto nos instalara los modulos de aufs y algunas erramientas para el manejo de squashfs.
+
Esto nos instalara los módulos de aufs y algunas herramientas para el manejo de squashfs.
Ahora necesitamos algunos directorios extra donde almacenar los archivos de /usr como solo-lectura y otro directiorio para almacenar los datos que cambien respecto a la ultima compresion, con permisos de escritura:
+
Ahora necesitamos algunos directorios extra donde almacenar los archivos de /usr como solo-lectura y otro directorio para almacenar los datos que cambien respecto a la ultima compresión, con permisos de escritura:
 
  # mkdir -p /squashed/usr/{ro,rw}
 
  # mkdir -p /squashed/usr/{ro,rw}
Siempre se debe hacer una actualizacion del sistema antes de comprimir /usr. Si usa prelink, debe hacer un prelink completo antes de crear el archivo.
+
Siempre se debe hacer una actualización del sistema antes de comprimir /usr. Si usa prelink, debe hacer un prelink completo antes de crear el archivo.
 
Ahora es momento de comprimir /usr:
 
Ahora es momento de comprimir /usr:
 
  # mksquashfs /usr /squashed/usr/usr.sfs -b 65536
 
  # mksquashfs /usr /squashed/usr/usr.sfs -b 65536
Estos parametros son los sugeridos por el tutorial de Gentoo, pero puede haber un cierto margen de mejor con las opciones descriptas en [http://www.tldp.org/HOWTO/SquashFS-HOWTO/mksqoverview.html#mksqusing aquí].
+
Estos parámetros son los sugeridos por el tutorial de Gentoo, pero puede haber un cierto margen de mejor con las opciones descriptas en [http://www.tldp.org/HOWTO/SquashFS-HOWTO/mksqoverview.html#mksqusing aquí].
 
Para que se monte junto con la carpeta( que tenia permisos de escritura) es necesario editar fstab:
 
Para que se monte junto con la carpeta( que tenia permisos de escritura) es necesario editar fstab:
 
  # nano /etc/fstab
 
  # nano /etc/fstab
Line 103: Line 106:
 
  /squashed/usr/usr.sfs  /squashed/usr/ro  squashfs  loop,ro  0 0  
 
  /squashed/usr/usr.sfs  /squashed/usr/ro  squashfs  loop,ro  0 0  
 
  usr    /usr    aufs    udba=reval,br:/squashed/usr/rw:/squashed/usr/ro 0 0
 
  usr    /usr    aufs    udba=reval,br:/squashed/usr/rw:/squashed/usr/ro 0 0
Ya deberia ser posible reiniciar. El autor original sugiere eliminar todo el contenido del viejo directorio de /usr, pero podria causar algunos problemas si algo se estropea luego de la compresion. Es mas seguro dejar los viejos archivos para tener un respaldo.
+
Ya debería ser posible reiniciar. El autor original sugiere eliminar todo el contenido del viejo directorio de /usr, pero podría causar algunos problemas si algo se estropea luego de la compresión. Es mas seguro dejar los viejos archivos para tener un respaldo.
  
Hay un [http://bbs.archlinux.org/viewtopic.php?pid=714052 bash script] que se diseño para automatizar el proceso de recompresion. Algunas opciones pueden ser no correlativas para Arch.
+
Hay un [https://bbs.archlinux.org/viewtopic.php?pid=714052 bash script] que se diseño para automatizar el proceso de recompresion. Algunas opciones pueden ser no correlativas para Arch.
  
 
===Tuning for an SSD===
 
===Tuning for an SSD===
Line 111: Line 114:
  
 
==CPU==
 
==CPU==
La unica manera directa de aumentar el rendimiento del CPU es aumentar la velocidad del reloj (Overclock). Esto es complicado y riesgoso, y no se recomienda a nadie exeptuando a los expertos. La mejor manera de acelerar el reloj es desde la BIOS.
+
La única manera directa de aumentar el rendimiento del CPU es aumentar la velocidad del reloj (Overclock). Esto es complicado y riesgoso, y no se recomienda a nadie exceptuando a los expertos. La mejor manera de acelerar el reloj es desde la BIOS.
  
Una manera de moidifcar la performance es usar [ http://lkml.org/lkml/2009/9/6/136| los parches de conl kolivas' para el kernel], reemplazan completamente al Completely Fair Scheduler (CFS) por el  Brain Fuck Scheduler (BFS).
+
Una manera de modificar la performance es usar [ http://lkml.org/lkml/2009/9/6/136| los parches de conl kolivas' para el kernel], reemplazan completamente al Completely Fair Scheduler (CFS) por el  Brain Fuck Scheduler (BFS).
  
Los PKGBUILDS del kernel que incluyen el parche BFS pueden ser instalados desde [[AUR]] o desde [[Unofficial_User_Repositories]]. Revise respectimante las paginas de [http://aur.archlinux.org/packages.php?ID=50911 linux-ck] y  [https://wiki.archlinux.org/index.php/Linux-ck linux-ck wiki ],  [http://aur.archlinux.org/packages.php?ID=36384 kernel26-bfs] o  [http://aur.archlinux.org/packages.php?ID=40191 kernel26-pf] para mas informacion sobre los parches adicionales.
+
Los PKGBUILDS del kernel que incluyen el parche BFS pueden ser instalados desde [[AUR]] o desde [[Unofficial_User_Repositories]]. Revise respectivamente las paginas de [https://aur.archlinux.org/packages.php?ID=50911 linux-ck] y  [[Linux-ck|linux-ck wiki ]],  [https://aur.archlinux.org/packages.php?ID=36384 kernel26-bfs] o  [https://aur.archlinux.org/packages.php?ID=40191 kernel26-pf] para mas información sobre los parches adicionales.
  
 
{{Note|BFS/CK  fue diseñado para escritorios/laptops, no pasa servidores. Bajaran la latencia y funcionan bien con  
 
{{Note|BFS/CK  fue diseñado para escritorios/laptops, no pasa servidores. Bajaran la latencia y funcionan bien con  
  CPUs o menos. Con Kolivas siguiere configurar los Hertz a 1000. Para mas informacion, revise http://ck.kolivas.org/patches/bfs/bfs-faq.txt BFS FAQ]  y [http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.37/2.6.37-ck1/patches/ ck patches].}}
+
  CPUs o menos. Con Kolivas siguiere configurar los Hertz a 1000. Para mas información, revise http://ck.kolivas.org/patches/bfs/bfs-faq.txt BFS FAQ]  y [http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.37/2.6.37-ck1/patches/ ck patches].}}
  
 
===[[Verynice]]===
 
===[[Verynice]]===
[http://thermal.cnde.iastate.edu/~sdh4/verynice/ Verynice] es un DEMONIO, disponible en http://aur.archlinux.org/packages.php?ID=6403 AUR], para ajuste dinamico de los niveles de prioridad en los ejecutables. Esto representa cuan favorecido sera por los recursos del CPU. Simplemente defina a los ejecutables por cuan importante es su respuesta, como X o las aplicaciones multimedia, como l“goodexe” en {{filename|/etc/verynice.conf}}. Los ejecutables que se les quiera dar baja prioridad, deben ser definidos como “badexe”. Estas priorizaciones le daran grandes beneficios cuando el sistema este muy cargado.
+
[http://thermal.cnde.iastate.edu/~sdh4/verynice/ Verynice] es un DEMONIO, disponible en https://aur.archlinux.org/packages.php?ID=6403 AUR], para ajuste dinámico de los niveles de prioridad en los ejecutables. Esto representa cuan favorecido sera por los recursos del CPU. Simplemente defina a los ejecutables por cuan importante es su respuesta, como X o las aplicaciones multimedia, como l“goodexe” en {{ic|/etc/verynice.conf}}. Los ejecutables que se les quiera dar baja prioridad, deben ser definidos como “badexe”. Estas priorizaciones le darán grandes beneficios cuando el sistema este muy cargado.
  
 
===[[Ulatencyd]]===
 
===[[Ulatencyd]]===
Ulatency es un DEMONIO que controla como el Kernel gasta sus recursos en los procesos que se estan ejecutando. Usa cgroups dinamicos para darle al Kernel consejos y limitaciones sobre los procesos.
+
Ulatency es un DEMONIO que controla como el Kernel gasta sus recursos en los procesos que se estan ejecutando. Usa cgroups dinámicos para darle al Kernel consejos y limitaciones sobre los procesos.
  
 
==Red==
 
==Red==
Line 132: Line 135:
  
 
===Xorg.conf configuration===
 
===Xorg.conf configuration===
El rendimiento grafico depende en gran medida de la configuracion del archivo {{Filename|/etc/X11/xorg.conf}}. Hay tutoriales para placas [[Nvidia]], [[ATI]] e [[Intel]]. Configuraciones erroneas haran que Xorg deje de funcionar.
+
El rendimiento gráfico depende en gran medida de la configuración del archivo {{ic|/etc/X11/xorg.conf}}. Hay tutoriales para placas [[Nvidia]], [[ATI]] e [[Intel]]. Configuraciones erróneas harán que Xorg deje de funcionar.
  
 
===Driconf===
 
===Driconf===
Driconf es una pequeña utilidad que le permitira cambiar la condiguracion de direct rendering para los drivers de codigo abierto. Habilitar HyperZ aumentara el desempeño drasticamente.
+
Driconf es una pequeña utilidad que le permitirá cambiar la configuración de direct rendering para los drivers de codigo abierto. Habilitar HyperZ aumentara el desempeño drásticamente.
  
  
 
=== Overclock del GPU===
 
=== Overclock del GPU===
Realizar un overclock sobre las tarjetas graficas esta mucho mas documentado que sobre CPU, hay buena cantidad de aplicaciones que le premitiran ajustar el reloj del GPU al vuelo. Para los usuarios de ATI [http://aur.archlinux.org/packages.php?ID=2128 rovclock], para los de Nvidia, nvclock puede ser encontrado en el repositorio extra. Los usuarios de Intel pueden instalar [http://www.gmabooster.com/ GMABooster] desde [http://aur.archlinux.org/packages.php?ID=28197 AUR].
+
Realizar un overclock sobre las tarjetas gráficas esta mucho mas documentado que sobre CPU, hay buena cantidad de aplicaciones que le premitiran ajustar el reloj del GPU al vuelo. Para los usuarios de ATI [https://aur.archlinux.org/packages.php?ID=2128 rovclock], para los de Nvidia, nvclock puede ser encontrado en el repositorio extra. Los usuarios de Intel pueden instalar [http://www.gmabooster.com/ GMABooster] desde [https://aur.archlinux.org/packages.php?ID=28197 AUR].
  
Los cambios pueden hacerse permanentes ejecutando los comandos apropiados luego de que X inicie, por ejemplo agregandolos al archivo {{Filename|~/.xinitrc}}. Por seguridad se recomienda aplicar estos cambios solo cuando sean necesarios.
+
Los cambios pueden hacerse permanentes ejecutando los comandos apropiados luego de que X inicie, por ejemplo agregándolos al archivo {{ic|~/.xinitrc}}. Por seguridad se recomienda aplicar estos cambios solo cuando sean necesarios.
  
 
==RAM y swap==
 
==RAM y swap==
Continuara
+
===valor de Intercambio===
 +
El valor de intercambio representa cuando el kernel prefiere la swap a la RAM. Configurarlo a un valor muy bajo, significa que el kernel casi siempre usara la RAM. Lo que mejorara el desempeño, para hacer esto debemos agregar estas lineas al archivo {{ic|/etc/sysctl.conf}}:
 +
 
 +
vm.swappiness=20
 +
vm.vfs_cache_pressure=50
 +
 
 +
Para probarlo, revisa este [http://rudd-o.com/en/linux-and-free-software/tales-from-responsivenessland-why-linux-feels-slow-and-how-to-fix-that articulo(ingles)].
 +
 
 +
===Compcache===
 +
[http://code.google.com/p/compcache/ Compcache], también es conocido como el modulo zramk, su función es crear un dispositivo swap en RAM y comprimirlo. Significa que esa parte de la ram podrá almacenar mayor información, pero usara mas CPU. Pero es muchísimo mas rápido que cualquier swap de disco rigido. Si el sistema usa a menudo la swap, esto mejorar su desempeño de manera drastica. Zram no es estable aun, asi que debe usarse con precaucion.
 +
  modprobe zram
 +
 
 +
También es posible ( y se recomienda) decirle a compache que vuelva a usar la swap del disco rígido, cuando la de la RAM este completa. Para esto hay que definir un dispositivo en el archivo de configuración, este no debe estar en uso cuando zram es iniciado, debe ser removido de /etc/fstab !
 +
 
 +
Tambien es una buena manera para reducir los ciclos de lectura/escritura del disco, hacer que la swap este en un disco SSD.
 +
 
 +
===Montando /tmp en RAM===
 +
Esto hará el sistema un poquito mas rápido, pero consumirá algo de RAM. Esto también reduce los ciclos de lectura/escritura, y es una buena opción usar un SSD o si tiene demasiada RAM. Simplemente agregue estas lineas al archivo {{ic|/etc/fstab}} y reinicie:
 +
tmpfs /tmp tmpfs defaults,noatime,nodev,nosuid,mode=1777 0 0
 +
 
 +
=== Usando la RAM de la placa de video===
 +
En el desagradable caso de que tenga poca RAM y buena RAM de video, puede usar la ultima como swap. Revise [[Swap on video ram]].
 +
 
 +
===Precarga===
 +
Precargar es seleccionar y mantener determinados archivos en RAM. El uso practico es precargar aplicaciones para que estar carguen rápido, por que leerlas de la RAM es siempre mas rápido que desde el disco rígido. Sin embargo, parte de su RAM sera dedicada a esta tarea, pero no mas de la que utilizaría la aplicación abierta. Por lo tanto la precarga es optima para cargar las aplicaciones que usa con mas frecuencia, como Firefox o Libreoffice.
 +
====Go-preloada====
 +
[https://aur.archlinux.org/packages.php?ID=34207 Go-preload] es un pequeño DEMONIO creado en el [http://forums.gentoo.org/viewtopic-t-789818-view-next.html?sid=5457cff93039fc7d4a3e445ef90f9821 | Foro de Gentoo.]. Para usarlo, debe ejecutar este comando por cada programa que se desee precargar, en un terminal_
 +
# gopreload-prepare program
 +
Luego, como dice, presione enter cuando el programa este completamente cargado. Esto agregara una lista de archivos necesitados por el programa en {{ic|/usr/share/gopreload/enabled}}. Para cargar todas las listas al iniciop, simplemente agregue gopreload a la lista de DEMONIOS en {{ic|/etc/rc.conf}}. Para deshabilitar la carga de un programa, remueva la lista apropiada en {{ic|/usr/share/gopreload/enabled}}, o muevala a {{ic|/usr/share/gopreload/disabled}}.
 +
 
 +
====Preload====
 +
Una manea mas automatizada, aunque menos KISS, que se enfoca en [[Preload]].
 +
Todo lo que debe hacer es agregarlo a la lista de DEMONIOS en {{ic|/etc/rc.conf}}. Hará que monitoree los archivos mas usados en el sistema, e ira creando su propia lista para la precarga al inicio.
 +
===Suspender a RAM===
 +
La mejor manera de reducir el tiempo de inicio del sistema es... no iniciar el sistema. Considere [[Suspend to RAM|suspender su sistema en la ram]].
 +
 
 +
===Opciones del kernel para el inicio===
 +
Algunas opciones le permitirán reducir el tiempo en que se carga el kernel. La opción {{ic|fastboot}} usualmente le quitaran aproximadamente un segundo. También, si ve un mensaje como Waiting 8s for device XXX", puede agregar {{ic|<nowiki>rootdelay=1</nowiki>}} para que se reduzca el tiempo de espera, pero debera tener cuidado, puede dañar el inicio del sistema. Estas opciones se especifican en {{ic|/boot/grub/menu.lst}} o {{ic|/etc/lilo.conf}}, dependido que cargador use.
 +
 
 +
===Kernel modificado===
 +
Compilar un kernel modificado reducirá el tiempo de inicio y el uso de memoria, pero puede ser largo, complicado y hasta aveces doloroso. Usualmente no vale la pena. Pero es muy interesante y una buena experiencia de aprendizaje. Si realmente le interesa, puede revisar [[Kernel Compilation|esto]].
 +
 
 +
==Trucos específicos de las aplicaciones==
 +
===Firefox===
 +
El articulo sobre [[Firefox]] ofrece algunos buenos trucos; los mas notables son [Firefox Tips and Tweaks#Improve rendering by disabling pango |deshabilitar pango]], [[Firefox Tips and Tweaks#Defragment the profile's SQLite databases|Limpiar la base de datis SQLite]], y usar  [[Firefox#Firefox customized for speed|firefox-pgo]]. Revise cambien: [[Aumentar la velocidad de Firefox usando tmpfs]], and [[Firefox Tips and Tweaks#Turning off anti-phishing|Apagando el ati-pishing]].
 +
 
 +
===Gcc/Makepkg===
 +
Revisar [[Ccache]].
 +
 
 +
===Mkinitcpio===
 +
El usuario josh_ del foro realizo algunos cambios en el script de mkinitcpio, haciéndolo dos o tres veces mas rapido. Mientras que esperamos que estos cambios sean implementados, podes obtenerlos desde [https://bbs.archlinux.org/viewtopic.php?id=79898 aquí].
 +
 
 +
===LibreOffice===
 +
Revise [[LibreOffice#Speed up LibreOffice|Aumentando la velocidad de libreoffice]].
 +
 
 +
===Pacman===
 +
Revise [[Improve Pacman Performance|Mejorando el rendimiento de pacman]].
 +
 
 +
===SSH===
 +
Revise [[SSH#Speed up SSH|Aumentando la velocidad de SSH]].
 +
 
 +
==Laptops==
 +
Revise [[Laptop]].

Revision as of 03:56, 21 June 2013

Lo básico

Conoce tu sistema

La mejor manera de optimizar el sistema es encontrar los cuellos de botella, son subsistemas que limitan el desempeño general. Usualmente pueden ser identificados conociendo las especificaciones del sistema, pero hay algunas indicaciones básicas:

  • Si la computadora se vuelve lenta cuando grandes aplicaciones corren. Como cuando LibreOffice y Firefox, son corridas a la vez, es probable que la cantidad de RAM es insuficiente. Para verificar la RAM disponible, use este comando, y observe la linea que comienza con +/-buffers:
$free -m
  • Si el inicio es realmente lento, y si las aplicaciones toman demasiado tiempo en cargar la primera vez, pero cargan bien luego, probablemente el disco rígido sea demasiado lento. La velocidad de un disco rígido puede ser medidas usando el comando hdparam:
$ hdparm -t /dev/harddrive

Esa es la velocidad pura de lectura, definitivamente no es una prueba de rendimiento valida, pero un valor superior a los 40MB/s ( asumiendo que el dispositivo fue testeado mientras estaba ocupado) debe ser considerado un valor decente en el desempeño del sistema.

  • Si la carga del CPU es consistente aunque haya RAM disponible, entonces disminuir el uso del CPU debería ser una de las prioridades. La carga del CPU puede ser monitoreada de varias maneras, por ejemplo usando el comando top:
$top
  • Si las únicas aplicaciones que demoran son las que usan Direct Rendering, significa que están usando la placa de video, como los reproductores de video y los juegos, mejorar la performance de video debería ayudar. Para esto debemos verificar si el Direct Rendering esta activado. No ayudara el comando glxinfo:
$ glxinfo | grep direct

Lo primero a hacer

La manera mas simple y eficiente de mejorar el desempeño general es correr aplicaciones y un entorno liviano.

Compromiso

Casi toda optimizacion acarrea inconvenientes. Las aplicaciones livianas usualmente vienen con menos características, algunos ajustes pueden desencadenar en un sistema inestables o simplemente requerir tiempo para implementarlos y mantenerlos. Esta pagina tratara de resaltar esos inconvenientes, pero el juicio final lo debe hacer el usuario.

Test de rendimiento

Los efectos de la optimizacion son en su mayoría difíciles de juzgar. Sin embargo pueden ser medidos con tests de rendimiento

Dispositivos de almacenamiento

Eligiendo y optimizando es sistema de archivos

Elegir el mejor sistema de archivos para un sistema especifico es muy importante por que cada uno tiene su fuerte. La guiá para principiantes da un pequeño sumario de los mas populares.

Sumario

  • XFS: Excelente performance con archivos grandes. Lento con archivos pequeños. Una buena elección para /home
  • Resiserfs: Excelente performance con archivos pequeños. Una buena elección para /var
  • Ext3: Una performance media, pero seguro.

Ext4: Buen rendimiento general. Seguro, tiene algunos problemas con sqlite y algunas otras bases de datos.

  • JFS: Buen desempeño general, muy poco uso del CPU, luego de fallas eléctricas, se recupera muy rápido
  • Btrfs: Gran desempeño general (mejor que ext4), seguro (una vez que pase a ser estable). Gran cantidad de características Aun se mantiene bajo un intenso desarrollo, se lo considera inestable. No use este sistema de archivos si no sabe bien lo que esta haciendo, se arriesga a una probable perdida de datos.

Opciones de montaje

Las opciones de montaje le ofrecen una manera sencilla de aumentar la velocidad sin formatear. Pueden ser usadas por medio del comando mount:

$ mount -o opcion1,opcion2 /dev/partición /mnt/partición

Para hacerlas permanentes, debe modificar /etc/fstab y hacer que queden de esta manera;

/dev/partición /mnt/partición tipo_de_partición opcion1,opcion2 0 0

Un par de opciones que mejoran el rendimiento en casi todo sistema de archivos es {Codeline|noatime,nodiratime}}. El primero es parte del conjunto de la ultima (el cual se aplica solo a los directorios. noatime se aplica tanto a carpetas como a directorios, en algunos casos raros, por ejemplo si usa mutt puede causar problemas menores. En vez se puede usar realtime, (realtime esta por defecto en kernels >2.6.30)

Ext3

Mire Ext3 Filesystem Tips.

Ext4

Mire Ext4 wiki page.

JFS

Mire JFS Filesystem.

XFS

Para una velocidad optima, cree un sistema de archivos XFS con estas opciones:

$ mkfs.xfs -l internal,lazy-count=1,size=128m -d agcount=2 /dev/partición

Una opción especifica de XFS que aumentara el rendimiento es logbufs=8.

#/etc/fstab
LABEL=XFSHOME /home xfs noatime,logbufs=8 0 1

Reiserfs

La opción de montaje {{Codelinedata=writeback}} aumenta la velocidad, pero puede ocasionar que los datos se corrompan durante un fallo eléctrico. La opción notail incrementa el espacio usado por el sistema de archivos en aproximadamente un 5%, pero también aumenta el desempeño general. También se puede reducir el uso del disco poniendo el registro(journal) y los datos en discos separados. Esto se debe hacer cuando se crea el sistema de archivos:

$ mkreiserfs –j /dev/hda1 /dev/hdb1

Reemplace /dev/hda1 con la particion reservada para el registro, y /dev/dhb1 para los datos. Puede aprender mas sobre reiserfs en este articulo.

BTRFS

Btrfs is un nuevo sistema de archivos que ofrece desfragmentacion en linea (en el momento que se usa), modo optimizado para discos SDD, edición de snapshots, cambio del tamaño de la particion sin perdida de datos y otras características mas. Btrfs todavía esta en etapa de desarrollo y esta disponible en el kernel (posee la marca de experimental). Puede ver m,as información en la pagina de btrfs.

mkinitcpio.conf para btrfs

Cuando btrfs se no se usa como raíz, los módulos y las dependencias son cargadas cuando son requeridas. Para un sistema raíz, debe asegurarse de cargarlas en la ramdisk de inicio. El modulo de btrfs depende del modulo libcrc32c. Puede agregar crc32c en la linea de modulos de /etc/mkinitcpio.conf, de esta manera:

MODULES="crc32c libcrc32c zlib_deflate btrfs"

Para evitar los errores como "unknown symbol" cuando carga el modulo de btrfs. Mire tambien mkinitcpio-btrfs.

Comprimiendo /usr

Una manera de aumentar la velocidad de lectura de los discos es comprimiendo los datos, lo que deriva en menos datos a leer, pero también significa un aumento del uso del CPU. Algunos sistemas de archivos soportan una compresión transparente, es lo mas notable de btrfs y reiserfs4, pero el radio de compresión esta limitado por los bloques de 4k. Una buena alternativa es comprimir /usr en un archivo squashfs. Con bloques de 64K(128k), como se explica en este hilo del foro de Gentoo. Lo que este tutorial explica básicamente es como comprimr /usr dentro de un sistema de archivos squashfs comprimido. Para luego montado con aufs. De esta manera se ahora mucho espacio, usualmente dos tercios del tamaño original de /usr y las aplicaciones cargan rápido. Sin embargo, cada vez que una aplicación es instalada o reinstalada, esta se escribe descomprimida, entonces /usr debe ser recomprimido periódicamente. Squashfs se encuentra en el kernel y aufs2 esta en el repositorio extra, así que no se necesita una recompilacion del kernel lo que hace util al kernel por defecto. Dado que la guia esta vinculada a Gentoo, los siguientes comandos describen los pasos para Arch. Básicamente debemos instalar dos paquetes para hacerlo funcionar:

# pacman -S aufs2 squashfs-tools

Esto nos instalara los módulos de aufs y algunas herramientas para el manejo de squashfs. Ahora necesitamos algunos directorios extra donde almacenar los archivos de /usr como solo-lectura y otro directorio para almacenar los datos que cambien respecto a la ultima compresión, con permisos de escritura:

# mkdir -p /squashed/usr/{ro,rw}

Siempre se debe hacer una actualización del sistema antes de comprimir /usr. Si usa prelink, debe hacer un prelink completo antes de crear el archivo. Ahora es momento de comprimir /usr:

# mksquashfs /usr /squashed/usr/usr.sfs -b 65536

Estos parámetros son los sugeridos por el tutorial de Gentoo, pero puede haber un cierto margen de mejor con las opciones descriptas en aquí. Para que se monte junto con la carpeta( que tenia permisos de escritura) es necesario editar fstab:

# nano /etc/fstab

Agregue estas lineas:

/squashed/usr/usr.sfs   /squashed/usr/ro   squashfs   loop,ro   0 0 
usr    /usr    aufs    udba=reval,br:/squashed/usr/rw:/squashed/usr/ro 0 0

Ya debería ser posible reiniciar. El autor original sugiere eliminar todo el contenido del viejo directorio de /usr, pero podría causar algunos problemas si algo se estropea luego de la compresión. Es mas seguro dejar los viejos archivos para tener un respaldo.

Hay un bash script que se diseño para automatizar el proceso de recompresion. Algunas opciones pueden ser no correlativas para Arch.

Tuning for an SSD

Trucos para maximizar el rendimiento de discos SSD

CPU

La única manera directa de aumentar el rendimiento del CPU es aumentar la velocidad del reloj (Overclock). Esto es complicado y riesgoso, y no se recomienda a nadie exceptuando a los expertos. La mejor manera de acelerar el reloj es desde la BIOS.

Una manera de modificar la performance es usar [ http://lkml.org/lkml/2009/9/6/136%7C los parches de conl kolivas' para el kernel], reemplazan completamente al Completely Fair Scheduler (CFS) por el Brain Fuck Scheduler (BFS).

Los PKGBUILDS del kernel que incluyen el parche BFS pueden ser instalados desde AUR o desde Unofficial_User_Repositories. Revise respectivamente las paginas de linux-ck y linux-ck wiki , kernel26-bfs o kernel26-pf para mas información sobre los parches adicionales.

Note: BFS/CK fue diseñado para escritorios/laptops, no pasa servidores. Bajaran la latencia y funcionan bien con CPUs o menos. Con Kolivas siguiere configurar los Hertz a 1000. Para mas información, revise http://ck.kolivas.org/patches/bfs/bfs-faq.txt BFS FAQ] y ck patches.

Verynice

Verynice es un DEMONIO, disponible en https://aur.archlinux.org/packages.php?ID=6403 AUR], para ajuste dinámico de los niveles de prioridad en los ejecutables. Esto representa cuan favorecido sera por los recursos del CPU. Simplemente defina a los ejecutables por cuan importante es su respuesta, como X o las aplicaciones multimedia, como l“goodexe” en /etc/verynice.conf. Los ejecutables que se les quiera dar baja prioridad, deben ser definidos como “badexe”. Estas priorizaciones le darán grandes beneficios cuando el sistema este muy cargado.

Ulatencyd

Ulatency es un DEMONIO que controla como el Kernel gasta sus recursos en los procesos que se estan ejecutando. Usa cgroups dinámicos para darle al Kernel consejos y limitaciones sobre los procesos.

Red

Revise estas recomendaciones generales.

Graficos

Xorg.conf configuration

El rendimiento gráfico depende en gran medida de la configuración del archivo /etc/X11/xorg.conf. Hay tutoriales para placas Nvidia, ATI e Intel. Configuraciones erróneas harán que Xorg deje de funcionar.

Driconf

Driconf es una pequeña utilidad que le permitirá cambiar la configuración de direct rendering para los drivers de codigo abierto. Habilitar HyperZ aumentara el desempeño drásticamente.


Overclock del GPU

Realizar un overclock sobre las tarjetas gráficas esta mucho mas documentado que sobre CPU, hay buena cantidad de aplicaciones que le premitiran ajustar el reloj del GPU al vuelo. Para los usuarios de ATI rovclock, para los de Nvidia, nvclock puede ser encontrado en el repositorio extra. Los usuarios de Intel pueden instalar GMABooster desde AUR.

Los cambios pueden hacerse permanentes ejecutando los comandos apropiados luego de que X inicie, por ejemplo agregándolos al archivo ~/.xinitrc. Por seguridad se recomienda aplicar estos cambios solo cuando sean necesarios.

RAM y swap

valor de Intercambio

El valor de intercambio representa cuando el kernel prefiere la swap a la RAM. Configurarlo a un valor muy bajo, significa que el kernel casi siempre usara la RAM. Lo que mejorara el desempeño, para hacer esto debemos agregar estas lineas al archivo /etc/sysctl.conf:

vm.swappiness=20
vm.vfs_cache_pressure=50

Para probarlo, revisa este articulo(ingles).

Compcache

Compcache, también es conocido como el modulo zramk, su función es crear un dispositivo swap en RAM y comprimirlo. Significa que esa parte de la ram podrá almacenar mayor información, pero usara mas CPU. Pero es muchísimo mas rápido que cualquier swap de disco rigido. Si el sistema usa a menudo la swap, esto mejorar su desempeño de manera drastica. Zram no es estable aun, asi que debe usarse con precaucion.

 modprobe zram

También es posible ( y se recomienda) decirle a compache que vuelva a usar la swap del disco rígido, cuando la de la RAM este completa. Para esto hay que definir un dispositivo en el archivo de configuración, este no debe estar en uso cuando zram es iniciado, debe ser removido de /etc/fstab !

Tambien es una buena manera para reducir los ciclos de lectura/escritura del disco, hacer que la swap este en un disco SSD.

Montando /tmp en RAM

Esto hará el sistema un poquito mas rápido, pero consumirá algo de RAM. Esto también reduce los ciclos de lectura/escritura, y es una buena opción usar un SSD o si tiene demasiada RAM. Simplemente agregue estas lineas al archivo /etc/fstab y reinicie:

tmpfs /tmp tmpfs defaults,noatime,nodev,nosuid,mode=1777 0 0

Usando la RAM de la placa de video

En el desagradable caso de que tenga poca RAM y buena RAM de video, puede usar la ultima como swap. Revise Swap on video ram.

Precarga

Precargar es seleccionar y mantener determinados archivos en RAM. El uso practico es precargar aplicaciones para que estar carguen rápido, por que leerlas de la RAM es siempre mas rápido que desde el disco rígido. Sin embargo, parte de su RAM sera dedicada a esta tarea, pero no mas de la que utilizaría la aplicación abierta. Por lo tanto la precarga es optima para cargar las aplicaciones que usa con mas frecuencia, como Firefox o Libreoffice.

Go-preloada

Go-preload es un pequeño DEMONIO creado en el | Foro de Gentoo.. Para usarlo, debe ejecutar este comando por cada programa que se desee precargar, en un terminal_

# gopreload-prepare program

Luego, como dice, presione enter cuando el programa este completamente cargado. Esto agregara una lista de archivos necesitados por el programa en /usr/share/gopreload/enabled. Para cargar todas las listas al iniciop, simplemente agregue gopreload a la lista de DEMONIOS en /etc/rc.conf. Para deshabilitar la carga de un programa, remueva la lista apropiada en /usr/share/gopreload/enabled, o muevala a /usr/share/gopreload/disabled.

Preload

Una manea mas automatizada, aunque menos KISS, que se enfoca en Preload. Todo lo que debe hacer es agregarlo a la lista de DEMONIOS en /etc/rc.conf. Hará que monitoree los archivos mas usados en el sistema, e ira creando su propia lista para la precarga al inicio.

Suspender a RAM

La mejor manera de reducir el tiempo de inicio del sistema es... no iniciar el sistema. Considere suspender su sistema en la ram.

Opciones del kernel para el inicio

Algunas opciones le permitirán reducir el tiempo en que se carga el kernel. La opción fastboot usualmente le quitaran aproximadamente un segundo. También, si ve un mensaje como Waiting 8s for device XXX", puede agregar rootdelay=1 para que se reduzca el tiempo de espera, pero debera tener cuidado, puede dañar el inicio del sistema. Estas opciones se especifican en /boot/grub/menu.lst o /etc/lilo.conf, dependido que cargador use.

Kernel modificado

Compilar un kernel modificado reducirá el tiempo de inicio y el uso de memoria, pero puede ser largo, complicado y hasta aveces doloroso. Usualmente no vale la pena. Pero es muy interesante y una buena experiencia de aprendizaje. Si realmente le interesa, puede revisar esto.

Trucos específicos de las aplicaciones

Firefox

El articulo sobre Firefox ofrece algunos buenos trucos; los mas notables son [Firefox Tips and Tweaks#Improve rendering by disabling pango |deshabilitar pango]], Limpiar la base de datis SQLite, y usar  firefox-pgo. Revise cambien: Aumentar la velocidad de Firefox usando tmpfs, and Apagando el ati-pishing.

Gcc/Makepkg

Revisar Ccache.

Mkinitcpio

El usuario josh_ del foro realizo algunos cambios en el script de mkinitcpio, haciéndolo dos o tres veces mas rapido. Mientras que esperamos que estos cambios sean implementados, podes obtenerlos desde aquí.

LibreOffice

Revise Aumentando la velocidad de libreoffice.

Pacman

Revise Mejorando el rendimiento de pacman.

SSH

Revise Aumentando la velocidad de SSH.

Laptops

Revise Laptop.