El Mon, 31 Jan 2011 23:28:42 -0300 Aldrin Martoq <amar...@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. > Por convención, estas son decisiones en el momento de operación del > sistema, NO son decisiones que toma el mismo programa. Misma historia > para el ionice (el cual desconocía). Si vas a mover esta lógica > dentro de tu programa, tendrá que ser algo varias veces MEJOR y tal > vez muy INTELIGENTE a lo que se estila. Bueno, si no nos cuentas en > qué andas, no lo sabremos. Lo que indique... > Si miras el man, en SEE_ALSO está la referencia a getpriority(2) y > setpriority(2). Si lees esos man, veras que basta con añadir la > "capability" CAP_SYS_NICE a tu programa (lo cual hasta donde sé > también se estila dejarlo fuera de tu código, al momento de > operación). Bueno, gracias veré esos detalles. > Aldrin Martoq > http://aldrin.martoq.cl/ -- Atentamente. +-----------------------+-------------------------+ | Ricardo Albarracin B. | email: ral...@gmail.com | +-----------------------+-------------------------+