2009-01-01 24 views

Respuesta

11

WCHAN es la dirección dentro del kernel donde el proceso está durmiendo (si de hecho está durmiendo). Habiéndolo configurado como stext generalmente significa que su núcleo es anterior a 2.6 y no ha inicializado System.map (archivo de lista de nombres) o su kernel y el archivo de la lista de nombres no coinciden.

Si hace un "hombre pd" y busca wchan, le dirá la ruta de búsqueda para el archivo de la lista de nombres. Es probable que el primero que encuentre no coincida con el kernel que tiene, ya que stext es el comienzo del segmento TEXT del núcleo y es poco probable que esté durmiendo allí.

Creo que si la dirección está fuera del segmento de TEXTO, obtendrá este método por defecto (de ahí mi opinión de que su archivo de lista de nombres y kernel no coinciden).

+0

gracias No tengo/etc/psdatabase (ni un arranque) ¿dónde se puede encontrar? Yo uso kernel: 2.6.18-53.1.14.el5PAE – akiva

+0

¿Qué distribución está usando?/etc/psdatabase no aparece en la ruta de búsqueda indicada por mi página ps man (a menos que sea $ PS_SYSMAP o $ PS_SYSTEM_MAP). ¿O estás haciendo "ps -l -n/etc/psdatabase"? – paxdiablo

5

wchan no funciona en los sistemas x86 donde SCHED_NO_NO_OMIT_FRAME_POINTER se ha establecido en "y" (que es el valor predeterminado). En aquellos sistemas wchan siempre devuelve "0", que se correlaciona con _stext

cheque http://lkml.org/lkml/2008/11/6/12 para más detalles

1

Kiwi - PS de RHEL debe recoger la lista de nombres de /boot/System.map-2.6.18-53.1 .14.el5PAE. Espero que esto ya esté instalado. Si está funcionando correctamente, entonces ps axo pid,cmd,wchan producirá una lista de procesos y las funciones del núcleo que están esperando. Para mí, es un resultado significativo para la mayoría de las funciones, a excepción de unos pocos - rpc.idmap y lockd. Varias funciones muestran "stext" y aún me gustaría saber qué significa esto.