| View previous topic :: View next topic |
| Author |
Message |
Txema l33t

Joined: 20 May 2008 Posts: 756 Location: Granada
|
Posted: Wed Feb 03, 2010 12:36 pm Post subject: Todos los procesos tienen la misma prioridad - niceness |
|
|
Ayer, toqueteando el niceness de portage, me di cuenta de que todos los procesos de mi sistema (salvo dos o tres afortunados) están a la misma prioridad, lo que rompe por completo cualquier lógica de repartidor de ciclos de CPU.
Un pequeño extracto de top:
| Code: | top - 13:28:42 up 34 min, 6 users, load average: 0.22, 0.11, 0.10
Tasks: 137 total, 1 running, 136 sleeping, 0 stopped, 0 zombie
Cpu(s): 10.2%us, 2.2%sy, 0.0%ni, 83.3%id, 3.9%wa, 0.2%hi, 0.2%si, 0.0%st
Mem: 2055580k total, 2020632k used, 34948k free, 35216k buffers
Swap: 522104k total, 0k used, 522104k free, 938468k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2739 chema 20 0 490m 61m 37m S 6 3.1 0:56.29 kwin
3391 chema 20 0 823m 341m 43m S 4 17.0 2:32.72 firefox
4222 chema 20 0 287m 31m 20m S 4 1.6 0:13.87 dolphin
2634 root 20 0 174m 60m 19m S 2 3.0 1:07.33 X
1 root 20 0 3836 672 572 S 0 0.0 0:00.29 init
2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0 0.0 0:00.00 ksoftirqd/0
5 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/0
6 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/1
7 root 20 0 0 0 0 S 0 0.0 0:00.00 ksoftirqd/1
8 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/1
9 root 20 0 0 0 0 S 0 0.0 0:00.02 events/0
10 root 20 0 0 0 0 S 0 0.0 0:00.00 events/1d
385 root 20 0 0 0 0 S 0 0.0 0:00.42 kswapd0
431 root 20 0 0 0 0 S 0 0.0 0:00.00 aio/0
432 root 20 0 0 0 0 S 0 0.0 0:00.00 aio/1
449 root 20 0 0 0 0 S 0 0.0 0:00.00 nfsiod
454 root 15 -5 0 0 0 S 0 0.0 0:00.00 kslowd000
455 root 15 -5 0 0 0 S 0 0.0 0:00.00 kslowd001 |
Como veis, dos procesos tienen -5, y el resto están todos a 0 (nice), y con la prioridad lo mismo, esos dos a 15 y el resto a 20, salvo unos cuantos beneficiados con el RT (supongo real time)
En el servidor, todo funciona perfectamente y tiene los valores lógicos:
| Code: | top - 13:28:54 up 42 days, 20:50, 2 users, load average: 0.01, 0.03, 0.05
Tasks: 98 total, 2 running, 96 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.4%us, 3.2%sy, 5.7%ni, 87.7%id, 1.3%wa, 0.3%hi, 1.3%si, 0.0%st
Mem: 1031964k total, 1002520k used, 29444k free, 81560k buffers
Swap: 506036k total, 0k used, 506036k free, 517176k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8734 p2p 39 19 45072 27m 2668 R 32.9 2.7 2164:01 mlnet
15669 squid 20 0 273m 258m 2144 S 3.9 25.7 145:12.56 squid
24190 server 39 19 1570m 20m 2964 S 3.9 2.0 783:07.52 utorrent.exe
23056 root 20 0 2480 1008 772 R 1.9 0.1 0:00.02 top
1 root 20 0 1696 472 416 S 0.0 0.0 0:11.83 init
2 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 15 -5 0 0 0 S 0.0 0.0 1:07.39 ksoftirqd/0
5 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
6 root 15 -5 0 0 0 S 0.0 0.0 0:01.08 events/0
7 root 15 -5 0 0 0 S 0.0 0.0 0:07.54 khelper
13 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 async/mgr
176 root 15 -5 0 0 0 S 0.0 0.0 0:03.25 kblockd/0
178 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
179 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kacpi_notify
180 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kacpi_hotplug
242 root 15 -5 0 0 0 S 0.0 0.0 7:40.92 ata/0
243 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 ata_aux
244 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 ksuspend_usbd
248 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 khubd
251 root 15 -5 0 0 0 S 0.0 0.0 0:00.01 kseriod
290 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 khpsbpkt
314 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khungtaskd
317 root 15 -5 0 0 0 S 0.0 0.0 3:45.77 kswapd0
362 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0 |
Los procesos de sistema están, casi todos, a -5/15, los procesos nuevos están a 0/20 y los otros los he puesto yo manualmente a un nice de 19
¿Hay algo que se me esté pasando? porque no sé ni por donde empezar a mirar ^^"
Saludos. |
|
| Back to top |
|
 |
esteban_conde Veteran


Joined: 04 Jun 2003 Posts: 1314
|
Posted: Wed Feb 03, 2010 7:33 pm Post subject: |
|
|
Pues no es mi fuerte ese parametro no obstante en los dos casos que muestras los resultados son parecidos ya que afecta a los procesos por igual, a ver si me explico, de forma global si todos los procesos tienen la misma niceness se ejecutarán de la misma forma de tal forma que tomará la prioridad el primero que sea llamado y daria igual -5 que 0 siempre que sea igual para todos y los que tengan niceness diferente tengan una distancia relativa igual a la base (hago un simil geometrico con la distancia relativa a un punto) sea la base -5 ó -10 ó 0 pero claro paso la las 7 primeras palabras de este post y doctores habrá que me den o me quiten la razón. _________________ Saludos a tod@s, Esteban. |
|
| Back to top |
|
 |
Txema l33t

Joined: 20 May 2008 Posts: 756 Location: Granada
|
Posted: Mon Feb 08, 2010 10:35 pm Post subject: |
|
|
Empiezo a pensar que hay algo mal en mi sistema, es como si estuviera ignorando por completo las prioridades de los procesos, he colocado el niceness de portage a 19 (en /etc/make.conf) y cualquier compilación me deja el PC casi inservible, exactamente igual que si no estableciera esta variable en el make.conf, dejándola por defecto a 0.
¿Alguna idea de qué puede estar pasando? |
|
| Back to top |
|
 |
esteban_conde Veteran


Joined: 04 Jun 2003 Posts: 1314
|
Posted: Tue Feb 09, 2010 9:54 am Post subject: |
|
|
Me parece haber leido en algun sitio que cuanto más pequeño es el valor más prioridad de planificación adquiere el proceso, creo que con man nice vale. _________________ Saludos a tod@s, Esteban. |
|
| Back to top |
|
 |
Txema l33t

Joined: 20 May 2008 Posts: 756 Location: Granada
|
Posted: Tue Feb 16, 2010 7:43 pm Post subject: |
|
|
Efectivamente, a menor nice, más prioridad, por eso se lo puse a 19 que es la prioridad más baja, para que tengan más prioridad los demás procesos y no me bloquee el PC casi por completo, como actualmente hace.
La verdad es que en este asunto estoy totalmente perdido porque no sé dónde mirar, y ni siquiera sé cuando comenzó Lo que sí sé es que antes no era así, y emerge no me bloqueaba el ordenador, es más podía ver películas y navegar sin ningún problema mientras compilaba, y ahora me corta hasta la música, que suena a saltos...
Saludos. |
|
| Back to top |
|
 |
quilosaq Guru

Joined: 22 Dec 2009 Posts: 367
|
Posted: Wed Feb 17, 2010 12:21 am Post subject: |
|
|
| A mi resulta sospechoso que tengas una cantidad de memoria swap y no se use nada de ella. Comprueba que tienes bien configurado /etc/fstab y que la swap se monta correctamente. |
|
| Back to top |
|
 |
Txema l33t

Joined: 20 May 2008 Posts: 756 Location: Granada
|
Posted: Wed Feb 17, 2010 8:55 am Post subject: |
|
|
¿Y para qué voy yo a querer que se use la swap con lo lenta que es? para eso puse el vm.swappiness a 0, mientras haya RAM que usar no quiero que toque la SWAP
Mi /etc/fstab es este:
| Code: | # /etc/fstab: static file system information.
#
# noatime turns off atimes for increased performance (atimes normally aren't
# needed; notail increases performance of ReiserFS (at the expense of storage
# efficiency). It's safe to drop the noatime options if you want and to
# switch between notail / tail freely.
#
# The root filesystem should have a pass number of either 0 or 1.
# All other filesystems should have a pass number of 0 or greater than 1.
#
# See the manpage fstab(5) for more information.
#
# <fs> <mountpoint> <type> <opts> <dump/pass>
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/sda1 /boot ext2 defaults,noatime,nodiratime 1 2
/dev/sda3 / ext4 defaults,noatime,exec,nodiratime,commit=120 0 1
/dev/sda5 /var ext2 defaults,noatime,nodiratime 0 1
/dev/sda6 /usr/src ext4 defaults,noatime,nodiratime,commit=120 0 1
/dev/sda7 /usr/portage ext2 defaults,noatime,nodiratime 0 1
/dev/sda8 /usr/portage/distfiles ext4 defaults,noatime,nodiratime,commit=120 0 1
/dev/sda2 none swap sw 0 0
/dev/hdb /mnt/dvd auto user,noauto,ro 0 0
/dev/hda /mnt/dvdr auto defaults,user,noauto,rw 0 0
#/dev/fd0 /mnt/floppy auto noauto 0 0
/dev/sda9 /home ext4 defaults,auto,user,rw,exec,noatime,nodiratime,commit=120 0 1
/dev/sdb1 /mnt/Datos ext4 auto,user,rw,noatime,nodiratime,commit=120 0 1
/dev/sdc1 /mnt/Musica ext4 auto,user,rw,noatime,nodiratime,commit=120 0 1
# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
# POSIX shared memory (shm_open, shm_unlink).
# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
# use almost no memory if not populated with files)
tmpfs /dev/shm tmpfs nodev,nosuid,noexec 0 0 |
Gracias. |
|
| Back to top |
|
 |
esteban_conde Veteran


Joined: 04 Jun 2003 Posts: 1314
|
Posted: Wed Feb 17, 2010 11:47 am Post subject: |
|
|
Emerge cualquier cosa y peganos el resultado de top mientras compila. _________________ Saludos a tod@s, Esteban. |
|
| Back to top |
|
 |
i92guboj Moderator


Joined: 30 Nov 2004 Posts: 9106 Location: Córdoba (Spain)
|
Posted: Wed Feb 17, 2010 4:11 pm Post subject: |
|
|
Sea cual sea el nivel nice de una aplicación recuerda que toda la gestión de procesos (incluyendo sus prioridades) se realiza a nivel de kernel. nice(1) no es más que una interfaz a dicha funcionalidad. Es posible que diferentes versiones del kernel se comporten de formas muy distintas, y también es bastante posible que la configuración del kernel afecte a las prioridades.
Otra cuestión a tener en cuenta es el planificador de cpu que uses. Hay varios parches por ahí que alteran el planificador de cpu del kernel. Quizás estés usando alguno de ellos en uno de tus equipos, pero no en el otro.
Puedes encontrar los documentos básicos en el directorio de tus fuentes del kernel, concretamente en Documentation/scheduler, y más concretamente aún en el archivo sched-nice-design.txt. _________________ Gentoo Handbook |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|