Está en la página 1de 38

Tweak & Tunning

Linux!

Haciendo a tu Linux 
más estable, más 
rápido y 
¡más furioso!
¿Por qué una ponencia de 
Tunning?       

● La mayoría de las distribuciones giran en 
torno a el Kernel Linux; el kernel actualmente 
se encuentra en manos de una fundación; la 
Linux Foundation; auspiciado mayormente 
por empresas con gran futuro para Linux en 
Servidores; por ende, el kernel Linux está 
plenamente optimizado y configurado para 
su trabajo en servidores (y no versionado 
para distintos entornos como ocurre con 
otros S.O).

Tweak & Tunning Linux!
¿Por qué una ponencia de 
Tunning?       

● Hace poco, Con Kolivas (un estudiante de 
computación y anestesiologo de Australia) 
hizo unas grandes mejoras con un parche 
que optimizaba en un 70% el scheduler del 
kernel Linux para desktops, su trabajo fue 
duramente desprestigiado ya que afectaba el 
rendimiento general del sistema para 
servidores; por lo cual nunca fue incorporado 
al kernel.

Tweak & Tunning Linux!
¿La Razón?
      

Linux es un kernel muy versátil; con 
amplio uso en diversos sectores como:
● Servidores
● Estaciones de trabajo
● Portátiles
● Dispositivos imbuidos
● Routers, Access Points
● GPS, Celulares, Microondas y más!

Tweak & Tunning Linux!
Las Distribuciones
      

Una meta­distro es una distribución de 
propósito general para construir otras 
versiones de Linux:
● Debian GNU/Linux (deb based)
● Fedora (rpm based)
● Slackware (tar.gz based)
● Gentoo (portage based)

Tweak & Tunning Linux!
Las Distribuciones
      

A partir de una meta­distro, nace una 
distribución de acuerdo a las necesidades:
● Ubuntu, Knoppix (debian based)
● CentOS, Mandriva (rpm based)
● DSL, Slack! (slackware based)
● Sabayon, Arch! (gentoo based)

Tweak & Tunning Linux!
Pero no todo es culpa de 
Linux...       

Existe muchísimo hardware allá afuera que:
● No cumple con los estándares
● Son diseñados para una plataforma específica (Win, Mac)
● No libera especificaciones o planos para diseñarle drivers para 
el kernel linux
● O simplemente es una pieza de basura de hardware

Por lo que no funciona adecuadamente o nunca llega a 
funcionar!

Tweak & Tunning Linux!
Entonces, ¿Qué hacer?
      

Preguntar!
Mucha gente te podrá responder si el 
equipo que deseas comprar corre o no en 
Linux, además existe poco hardware ahora 
que no esté dentro del kernel Linux

Tweak & Tunning Linux!
Soporte del Kernel Linux
      

Para muestra veamos un poco las cosas que 
soporta en Device > USB el kernel Linux:
● USB Lego Infrared Tower
● USB BlackBerry recharge
● Siemens ID USB Mouse Fingerprint sensor
● PlayStation 2 Trance Vibrator driver
● Speedtouch USB DSL modem
● Y miles de dispositivos más! ...

Todo sin necesidad de un CD de instalación; ¿alguna 
vez fue tan fácil?
Tweak & Tunning Linux!
Una herramienta gráfica para 
Tweak?       

Powertweak Linux!
Instalar:
aptitude install powertweak powertweak-extra
powertweak-gtk

para otras distros:
descargar:
http://powertweak.sourceforge.net/

Nota: es un paquete algo viejo, pero ayuda en algunas 
reglas  de  optimización  (sobre  todo velocidad de la red 
TCP)

Tweak & Tunning Linux!
Rendimiento al navegar
      

Apagar IPv6
Ejecutar (como root):
echo 'alias net-pf-10 off' >>
/etc/modprobe.d/blacklist_ipv6

Nota: Puedes desactivar IPv6 en Firefox si ejecutas:
about:config
En la caja de URL de Firefox

Tweak & Tunning Linux!
Más rendimiento para la red
      

Fijado en: /etc/sysctl.conf


net.core.rmem_default = 524288

net.core.rmem_max = 524288

net.core.wmem_default = 524288

net.core.wmem_max = 524288

net.ipv4.tcp_wmem = 4096 87380 524288

net.ipv4.tcp_rmem = 4096 87380 524288

net.ipv4.tcp_mem = 524288 524288 524288

net.ipv4.tcp_rfc1337 = 1

net.ipv4.tcp_sack = 1

net.ipv4.tcp_fack = 1

Tweak & Tunning Linux!
Más rendimiento para la red
      

Fijado en: /etc/sysctl.conf


net.core.rmem_default = 524288

net.core.rmem_max = 524288

net.core.wmem_default = 524288

net.core.wmem_max = 524288

net.ipv4.tcp_wmem = 4096 87380 524288

net.ipv4.tcp_rmem = 4096 87380 524288

net.ipv4.tcp_mem = 524288 524288 524288

net.ipv4.tcp_rfc1337 = 1

net.ipv4.tcp_sack = 1

net.ipv4.tcp_fack = 1

Tweak & Tunning Linux!
Arranque (grub)
      

Fijado en: /boot/grub/menu.lst


Haciendo funcionar ese hardware viejo o no
detectado:
● cosas como lectoras SD, lectores de huellas dactilares u otros
dispositivos, no son usados realmente porque a veces el kernel no
los detecta; una causa puede ser un BIOS que no reporta
correctamente la asignación de IRQ de los dispositivos
● puede que afecten la velocidad de nuestro equipo; pero en
contraste, tendremos mucho del hardware funcionando
Agregar en la línea del kernel:

pci=routeirq irqpoll idebus=66 pci=assign-busses

Tweak & Tunning Linux!
Acceso al Disco Duro
      

hdparm
Instalar:
aptitude install hdparm
yum install hdparm
emerge hdparm

Nota: Es útil para discos IDE, en discos S­ATA solo un 
subset de comandos de optimización están disponibles

Tweak & Tunning Linux!
Acceso al Disco Duro
      

hdparm
Opciones:
-c3: habilita acceso a 32 bits I/O
-d1 activa las operaciones DMA del disco (y deshabilita PIO)
-a[numero] cabeceo del disco causado por el FS (mas alto,
menor cabeceo)
-W1: usar la caché (si posee) del disco (casi todos los discos
modernos poseen caché de 8 o 16Mb interna)

Nota: la opción ­M reduce la acústica del disco duro (el 
rudio  del  cabeceo)  a  cambio  de  una  ganancia  en 
performance.

Tweak & Tunning Linux!
Acceso al Disco Duro
      

hdparm
Más Opciones:
-u1: unmaskirq; permite al kernel linux enmascarar otras
solicitudes de acceso (irq) mientras tenga prioridad el disco
duro.
-m16: define el numero de sectores para la multi-transferencia
-X[numero] velocidad de transferencia IDE (hasta ultra-dma6)
ej. -X69
-k1: trata de mantener la configuración luego de un reset del
disco

Modo de uso:
hdparm -W1 -c1 -d1 -a2048 -m16 -A1 -M64 /dev/hda

Tweak & Tunning Linux!
Kernel Scheduler
      

I/O scheduler es la forma como el kernel gestiona el 
manejo de memoria y recursos asignados por el kernel, 
el scheduler por defecto; Anticipatory, trata de asignar 
homogeneamente los recursos; sin embargo, 
schedulers como deadline son utiles para darle más 
capacidad de carga a algos procesos de trabajo, como 
bases de datos y en procesos que acceden unicos al 
disco duro; es buena escogencia en workstations y 
servers.

Tweak & Tunning Linux!
Kernel Scheduler
      

Modelos del Scheduler de Linux


Modelos de I/O:
Anticipatory

Deadline

CFQ

CFS

Tweak & Tunning Linux!
Kernel Scheduler
      

Como definir el Scheduler?


Se debe fijar al compilar el  O al arranque con:
kernel en:
elevator=cfq
Enable the block
layer > IO Schedulers
> Default I/O
scheduler:

Tweak & Tunning Linux!
Frecuencia y Reloj del CPU
      

El procesador
● Hay muchas arquitecturas y 

procesadores (no solo Intel o AMD)
● Linux corre en casi todas las plataformas 
(incluso imbuido en access points, 
routers, neveras?) ...
● Se define en:
Processor type and features > Processor Family > 
Core 2 Duo/newer Xeon

Tweak & Tunning Linux!
Sistemas de Archivos
      

Muchos, para muchas opciones


Hay muchos tipos de filesystems:
● Ext2
● Ext3
● Jfs
● Xfs
● reiserfs

Tweak & Tunning Linux!
Sistemas de Archivos
      

No solo particiones DOS


Particiones:
● RAID 0, RAID 1, RAID­5
● Volúmenes Lógicos
● Amiga, Sparc

Tweak & Tunning Linux!
Sistemas de Archivos
      

Un ejemplo de particionado:
Sistema escritorio usuario:
● Boot (/boot; 128Mb; tipo ext2)
● Root (/; 10Gb; tipo ext3)
● Home (/home; ­; tipo xfs)
● Tmp (/tmp; 1Gb; jfs o ext3 modo writeback)
● Swap (swapping depende de la RAM)

Tweak & Tunning Linux!
Compilando Kernel
      

No es difícil, es lento ...


El kernel linux es pesado (40Mb comprimido), es 
un proceso largo, pero algunas cosas valen la 
pena.
Cosas que podemos cambiar:
● Processor type and features > Processor Family
● Processor type and features > Preemption Model
● Processor type and features > Timer frequency (1000 HZ)
● Power Management > Frequency Scaling > Governor

Tweak & Tunning Linux!
Compilando Kernel
      

Tómese un café ...


Compilar es dos pasos: make y make install

Tweak & Tunning Linux!
Tips para Wine
      

Wine permite emular todo un entorno MS 
Windows en Linux
Pros:
● No cuelga el Linux (adios pantallas azules!)
● Puede ejecutar casi cualquier aplicación
Contras:
● No soporta totalmente directX (aunque existe 
Cedega para ello).
Tweak & Tunning Linux!
X.org
      

● X.org es el gestor gráfico del Sistema


Linux
● Sobre él descansan los distintos entornos
de escritorio (gnome, kde, xfce, fluxbox,
etc)
● Hay una serie de tips que nos ayudarán
con el performance o que en definitiva
ayudarán a activar algunas cosas que
deseamos tener (como compiz-fusion).

Tweak & Tunning Linux!
Mejorar el rendimiento de las X
      

Fijado en: /etc/X11/xorg.conf


● Agregar BackinStore mejora el dibujado
de pantalla en sistemas con tarjeta
Nvidia o intel
Section "Device"

Option "BackingStore" "true"

Nota: En sistemas con transparencias o Composite, esta 
opción mejora el dibujado de pantalla en un 30%

Tweak & Tunning Linux!
Activar GLX y 3D
      

Fijado en: /etc/X11/xorg.conf


● GLX, activará la aceleración 3D, mientras
V4L (video for linux) activará las extensiones
de V4L al iniciar Linux, lo que permitirá
detectar más rápidamente cualquier
webcam que tengamos fijada al sistema.
Agregar en la sección module:

Section "Module"

Load "glx"

Load "v4l"

EndSection

Tweak & Tunning Linux!
Activar Composite para 
transparencias y Compiz       

Fijado en: /etc/X11/xorg.conf

Section "Extensions"

Option "Composite" "Enable"

Option "RENDER" "Enable"

Option "DAMAGE" "Enable"

EndSection

Nota: Para que el 3D funcione adecuadamente, debemos 
instalar el paquete mesa­libs

Tweak & Tunning Linux!
Corrigiendo detalles para 
Compiz­Fusion       

Fijado en: /etc/X11/xorg.conf


● Un ejemplo de Section Device para una intel
810 (o 915,945,intel)
Driver "intel"

VideoRam 131072

Option "RenderAccel" "true"


Option "AllowGLXWithComposite" "true"

Option "XAANoOffscreenPixmaps" "true"

Option "AccelMethod" "EXA"

Option "AddARGBGLXVisuals" "True"

Option "DRI" "True"

Tweak & Tunning Linux!
Corrigiendo detalles para 
Compiz­Fusion       

Fijado en: /etc/enviroment


● Agregar:

INTEL_BATCH="1"

Mejora el rendimiento general de la velocidad


de frames (framerate) en un 33%

Tweak & Tunning Linux!
Corrigiendo detalles para 
Compiz­Fusion       

Fijado en: /etc/X11/xorg.conf


● Un ejemplo de Section Device para una
Nvidia
Driver "nvidia"

Option "TwinView" "true"

Option "XAANoOffscreenPixmaps" "true"

Option "AddARGBGLXVisuals" "true"

Option "AllowGLXWithComposite" "true"

Option "RenderAccel" "true"

Option "IgnoreEDID" "1"

Option "NvAGP" "3"

Tweak & Tunning Linux!
Instalar Compiz­Fusion
      

Fijado en: /etc/apt/source.list


● Repositorio para debian de Compiz-Fusion

deb http://download.tuxfamily.org/shames/debian-
lenny/desktopfx/unstable/ ./

● Instalar:
Aptitude install compiz-fusion-all

Tweak & Tunning Linux!
Veamos a Compiz­Fusion en 
acción!       

Fijado en:

● Compiz­fusion es una mejora para los 
escritorios gnome, kde y xfce que 
agrega muchísimos efectos visuales 
aprovechando las capacidades 3D de 
tu tarjeta de video

Tweak & Tunning Linux!
Conclusiones
      

● Para usuarios finales existen 
distribuciones útiles (Ubuntu, Sabayon, 
Arch! Linux), que liberan prácticamente 
muchas potencialidades ocultas de 
Linux.
● Experimenta con tu hardware
● Ser compatible

Tweak & Tunning Linux!
Tweak & Tunning Linux

Gracias por su atención
Jesús Ignacio Lara 
celular: 0424 7332593 
celular:
correo: jesuslara@covetel.com.ve
correo:

blog:
http://www.jesuslara.com.ve/blog/

También podría gustarte