Kernel Linux y renice/ionice

Davidlohr Bueso dave en gnu.org
Mar Feb 1 09:30:16 CLST 2011


On Tue, 2011-02-01 at 09:21 -0300, Ricardo Munoz wrote:
> El 1 de febrero de 2011 09:15, Ricardo Albarracin B. <ralbab en gmail.com>escribió:
> 
> > El Mon, 31 Jan 2011 23:28:42 -0300
> > Aldrin Martoq <amartoq en dcc.uchile.cl> escribió:
> >
> > > Mejor cuéntanos qué pretendes hacer...
> > >
> > > Respecto de renice y nice; lo único que hacen es otorgar o quitar
> > > tiempo de CPU, dándole mas o menos tiempo a los procesos según su
> > > "prioridad".
> >
> > Precisamente eso.... reasignar más tiempo de CPU a algunos procesos
> > críticos para evitar la perdida de datos en capturas de hasta 50KBPS a
> > través de una USB, hay un buffer que se llena y hay datos que se
> > pierden. La recoleción de datos llega a varios millones imagina esa
> > taza en 5 a 10 minutos.
> >
> > > Ahora, la convención es que esto NO lo maneje el propio programa,
> > > sino que lo hace el administrador del sistema. Por ejemplo, está
> > > corriendo un proceso de cálculos diarios (PID 1044) y se come toda la
> > > CPU, lo que baja el rendimiento de los procesos que están atendiendo
> > > peticiones en línea. Entonces, el administrador tiene 2 opciones :
> > > - al iniciar el proceso de cálculos diarios, indicarle al sistema que
> > > no ocupe mucha cpu: $ nice 20 /ruta/al/proceso/calculos_diarios
> > > - bajar la prioridad mientras se ejecuta
> > > $ renice 20 1044
> >
> > El caso mío es distinto al que planteas, ya que uso un sistema de
> > captura de datos de alto rendimiento y una opción es ir a un sistema
> > operativo de tiempo real, pero antes es agotar todos los recursos antes
> > de llegar a ese extremo, el problema lo resuelvo con máquinas más
> > potentes pero no es la idea, el tema es con máquinas por ejemplo como
> > las Atom.
> >
> 
> Hola Tocayo,
> pq es un extremo usar un sistema operativo de tiempo real?

Este problema no se soluciona necesariamente con linux-rt (o cualquier
SO rt). Deberias asegurarte que tengas un preemptive kernel
(CONFIG_PREEMPT).



Más información sobre la lista de distribución Linux