PDA

Ver la Versión Completa : Mejorando la interactividad de las X11 mediante nice



Edulix
06-sep-2004, 00:14
HOWTO: Mejorando la interactividad de las Xfree mediante nice

0.0 Versión

06/09/2004 - Primera versión del documento.
11/09/2004 - Establezco la licencia a CC, modifciadas algunas cosillas en el texto.

0.1 Copyright

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

0.2 - Disclaimer

No liability for the contents of this document can be accepted. Use the concepts, examples and information at your own risk. Although this is highly unlikely, there may be errors and inaccuracies herein that could be damaging to your system. The author(s) do not take any responsibility for any damage that you incur through your own actions.

All copyrights are held by their by their respective owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark. Naming of particular products or brands should not be seen as endorsements.

0.3 - Notas

Si para reproducir este artículo en algún otro lado te gustaría obtener las fuentes de BBcode que usé, simplemente pulsa el botón citar ;-).

1 - Introducción

Aquí cuento una rápida y sencilla solución para algunos
problemas de lentitud de las X en SuSE 9.1.

2 - Historia

Resulta que me dió por migrar el directorio /root a la partición /home, para
no ocupar innecesariamente la partición principal. Desde el konsole, ejecté
el comando sudo cp -Rpxf /root /home/root.

Ambas particiones ( / y /home) están en dos HDs diferentes, y que el comando
tardo cosa de un minuto en completarse. Durante ese tiempo, el uso de la CPU
se estableción en el límite de lo racional, la música se entrecortaba, la
interactividad del sistema bajó alarmantemente, el ratón era de
aproximadamente 1 FPS... etc.

3 - Trasfondo

Resulta que las X se ejecutan sin prioridad "nice" por defecto o mejor dicho
con prioridad 0. La mayoría de los procesos del sistema se ejecutan con esa
prioridad. El problema radica en que de esta manera las X se pueden
ralentizar si un proceso de su misma prioridad consume muchos recursos (sobre
todo de CPU).

En cambio, muchas distros como Fedora suelen dar prioridad a las X en sus
instalaciones por defecto, ya que:


Si no se precisa arrancar el sistema gráfico (runlevel 3) los cambios sobre
la prioridad de las X no afectarán de ninguna manera al sistema.

Si se ejecutan las X pero se quiere dar prioridad a otros procesos pese a
penalización del nivel de interactividad en las X (como puede ser una
compilación o algún demonio-servidor), lo más probable es que el
administrador del sistema tenga conocimientos suficientes como para hacer
esto efectivo o que no sea necesario/relevante (por ejemplo si las X están
ejectándose pero inactivas).

La mayoría de las veces cuando las X están ejectándose lo más recomendable
creo que es, por lógica, darle una prioridad especial (-4 no está mal ;-).


4 - Solución

La solución consiste en cambiar la siguiente línea del fichero /etc/init.d/xdm
(debéis editarlo con los permisos adecuados):



(línea ~82):
startproc -p $PIDFILE $DISPLAYMANAGER || rc_failed


por:



startproc -n -4 -p $PIDFILE $DISPLAYMANAGER || rc_failed


De ésta manera, ahora se ejecutarán con mayor prioridad, la misma con la que
Fedora Core 1 lanza las X por defecto: -4 en vez de 0 (cuanto menor es la
magnitud prioridad de un proceso, mayor prioridad tiene).

Gracias a las bondades del comando renice, podéis incluso experimentar el
cambio en vivo, ejecutando:



sudo renice -n -4 `pidof X`


5 - Conclusión

Yo he instalado SuSE 9.1 Profesional en 4 ordenadores, y ciertamente en el que tenía más problemas era el mío propio. Lo cierto es que me da la impresión de que ahora todo es mucho más fluído. Es posible que vosotros no notéis tanto cambio, pero una cosa es clara: si usáis el ordenador "orientado al escritorio", este truco que aquí relato os vendrá bien, y nunca mal pirate:.

Un saludo,
Edulix.