View previous topic :: View next topic |
Author |
Message |
Frostwarrior Apprentice
Joined: 02 Mar 2007 Posts: 165
|
Posted: Sat Mar 21, 2009 5:44 am Post subject: [Resuelto] Usar Nice no tiene ningun efecto |
|
|
Hola a todos.
Resulta que tengo ajustada la niceness de portage en 10, pero sigue siendo demandante como quiere en cuanto al procesamiento.
Hace poco chrotee en un ubuntu para arreglar un par de problemas de X, y en ubuntu el proceso niceado tomaba "las sobras" de lo que era manejar el sistema. En otras palabras, si ubuntu le tenia uqe sacar a gcc el 99% de procesamiento a gcc para darme fluidez en la maquina lo hacia.
En cambio, en gentoo me sigue pidiendo la mayor parte de micro.
Alguien sabe como arreglar esto?
Gracias de antemano.
Last edited by Frostwarrior on Sat Mar 21, 2009 10:45 pm; edited 2 times in total |
|
Back to top |
|
|
Inodoro_Pereyra Advocate
Joined: 03 Nov 2006 Posts: 2631 Location: En la otra punta del cable
|
Posted: Sat Mar 21, 2009 6:21 pm Post subject: Re: Usar Nice no tiene ningun efecto |
|
|
19? No es un poco excesivo? Para portage se recomienda (o al menos recuerdo haber leído en algún lado) un valor de entre -3 y -5 dependiendo de cuantos hilos en simultaneo del compilador se ejecuten con -j. Por defecto si no se especifica un valor, portage usa nice 0 para todos los procesos que lanza.
Estás usando la variable PORTAGE_NICENESS del make.conf para especificar este parámetro?
Asegurate antes que nada, con top o htop, que los hilos de GCC que lanza portage tengan el valor de niceness que especificaste mirando la columna que dice NI.
Salud! _________________ Mi Blog.
Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL. |
|
Back to top |
|
|
Frostwarrior Apprentice
Joined: 02 Mar 2007 Posts: 165
|
Posted: Sat Mar 21, 2009 8:28 pm Post subject: |
|
|
Bueno, gracias por responder.
Quise decir 10
La idea es que portage tenga un valor bajo para que deje lugar a mi uso cotidiano de la cpu.
Pero eso simplemente no pasa, portage niceado me come cpu retardando otros programas. No se supone que con nice en 10 no deberia pasar eso?
Por si no se entendio, quiero que mi gentoo actue como actua ubuntu. Quiero que lo niceado ultimo use las sobras, y no trate de abarcar todo el procesador porque asi no tiene sentido usar nice. |
|
Back to top |
|
|
Inodoro_Pereyra Advocate
Joined: 03 Nov 2006 Posts: 2631 Location: En la otra punta del cable
|
Posted: Sat Mar 21, 2009 10:18 pm Post subject: |
|
|
Frostwarrior wrote: | Bueno, gracias por responder.
Quise decir 10
La idea es que portage tenga un valor bajo para que deje lugar a mi uso cotidiano de la cpu.
Pero eso simplemente no pasa, portage niceado me come cpu retardando otros programas. No se supone que con nice en 10 no deberia pasar eso?
Por si no se entendio, quiero que mi gentoo actue como actua ubuntu. Quiero que lo niceado ultimo use las sobras, y no trate de abarcar todo el procesador porque asi no tiene sentido usar nice. |
Claro que tiene sentido usar nice. Tiempo de procesador no usado, es tiempo desperdiciado. No tiene nada de malo que se use el 100% del CPU siempre y cuando tu pc siga respondiendo como pretendes. Nice le dará prioridad a procesos que tengan un valor menor, pero el resto del tiempo, todo el tiempo de procesador disponible debería ir a parar a GCC por mas que este tenga un valor en niceness de 19 inclusive.
Comprobá (te repito) si los hilos de GCC que portage lanza tienen el valor de niceness que pretendes que tengan con top o htop (o lo que uses a tal efecto).
Tenés suficiente ram como para compilar y usar la pc en simultáneo? Y suficiente swap? Eso podría ser una de las causas de que se use mas CPU de la cuenta y se trabe todo.
Salud! _________________ Mi Blog.
Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL. |
|
Back to top |
|
|
Frostwarrior Apprentice
Joined: 02 Mar 2007 Posts: 165
|
Posted: Sat Mar 21, 2009 10:36 pm Post subject: |
|
|
Inodoro_Pereyra wrote: | Claro que tiene sentido usar nice. Tiempo de procesador no usado, es tiempo desperdiciado. No tiene nada de malo que se use el 100% del CPU siempre y cuando tu pc siga respondiendo como pretendes. Nice le dará prioridad a procesos que tengan un valor menor, pero el resto del tiempo, todo el tiempo de procesador disponible debería ir a parar a GCC por mas que este tenga un valor en niceness de 19 inclusive. |
Justamente.
gcc no solo usaba los ciclos de sobra de la pc, sino que estaba robandome ciclos a los demas programas tal como si fuera un programa con nice 0. Mi cpu no es muy rapida (duron 1200) por lo que firefox me come procesador cada vez que abro una pagina pesada.
Con la compilacion en proceso, toda la pc se volvia muy lenta. Aun habiendo dejado gcc en niceness 19!
Inodoro_Pereyra wrote: | Comprobá (te repito) si los hilos de GCC que portage lanza tienen el valor de niceness que pretendes que tengan con top o htop (o lo que uses a tal efecto).
Tenés suficiente ram como para compilar y usar la pc en simultáneo? Y suficiente swap? Eso podría ser una de las causas de que se use mas CPU de la cuenta y se trabe todo.
Salud! |
Si, los tienen.
Tengo 890 de RAM y 500MB de swap. La pc la uso yo solamente (en linux al menos) asi que jamas vi swap ocupada desde que compre la ram de 1gb |
|
Back to top |
|
|
Frostwarrior Apprentice
Joined: 02 Mar 2007 Posts: 165
|
Posted: Sat Mar 21, 2009 10:42 pm Post subject: |
|
|
Bueno, aviso que "arregle" el problema aunque la solucion fue mas a corto plazo
Como me habian respondido en el area inglesa, tenia que ver con el CPU scheduler del kernel.
Por ahora agarre la configuracion respecto al cpu scheduler en ubuntu y copie la configuracion a gentoo.
Y funciona! Puedo usar la pc sin problemas con gcc niceado. Pero funciona de manera extraña.
Mientras compila suelen haber huecos donde la compilacion no toma el resto de los ciclos y hay unos pocos ciclos libres. Raro, no?
Mi configuracion del kernel ahora es así:
Code: | General Setup --->
[*] Control Group support
[ ] Example debug cgroup subsystem
[*] Namespace cgroup subsystem
[ ] Device controller for cgroups
[*] Group CPU scheduler
[*] Group scheduling for SCHED_OTHER
[*] Group scheduling for SCHED_RR/FIFO
Basis for grouping tasks (Control groups) --->
[*] Simple CPU accounting cgroup subsystem
[*] Resource counters
[*] Memory Resource Controller for Control Groups
[ ] Create deprecated sysfs files
[*] Kernel->user space relay support (formerly relayfs) |
Ahora deberia ser un buen admin y averiguar qué es especificamente lo que toqué
Last edited by Frostwarrior on Sun Mar 22, 2009 1:15 am; edited 1 time in total |
|
Back to top |
|
|
Inodoro_Pereyra Advocate
Joined: 03 Nov 2006 Posts: 2631 Location: En la otra punta del cable
|
Posted: Sat Mar 21, 2009 11:08 pm Post subject: |
|
|
Eso no se me hubiera ocurrido nunca
Uno no acaba nunca de aprender en esto...
Salud! _________________ Mi Blog.
Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL. |
|
Back to top |
|
|
|