Tipos de modos de suspensión para procesos.

Tipos de modos de suspensión para procesos.

Me encontré con esto mientras solucionaba el problema de por qué nuestro servidor falla cada vez que se cierra el proceso de Oracle. Enumeré el proceso de Oracle que se ejecuta en el servidor ps aux | grep oracley aquí está el resultado:

oracle   21739  0.0  0.0 165068 17488 ?        Ssl  Oct14   0:18 /apps/11203/grid/bin/mdnsd.bin
oracle   21759  0.1  0.0 176556 25672 ?        Ssl  Oct14   1:14 /apps/11203/grid/bin/gpnpd.bin
oracle   21772  0.9  0.0 249528 31320 ?        Sl   Oct14   8:04 /apps/11203/grid/bin/gipcd.bin
oracle   21830  1.1  0.0 265760 115908 ?       SLl  Oct14   9:54 /apps/11203/grid/bin/ocssd.bin
oracle   21969  0.2  0.0 268648 29148 ?        Ssl  Oct14   2:10 /apps/11203/grid/bin/evmd.bin
oracle   22246  0.0  0.0  92420 13024 ?        S    Oct14    0:00 /apps/11203/grid/bin/evmlogger.bin -o /apps/11203/grid/evm/log/evmlogger.info -l /apps/11203/grid/evm/log/evmlogger.log

Bien, todos estos procesos están en suspensión y, según su código de estado, se encuentran en varios tipos de suspensión: Ssl, Sl, SLl. Busqué en Google sobre los diferentes tipos de procesos de suspensión y no pude encontrar solo sobre suspensión de disco, suspensión interrumpible y no interrumpible. No veo ninguna información sobre lo que parecen subestados (los Ssl, Sl, SLl) de varios sueños. ¿Alguien aquí sabe en qué se diferencian SsL, Sl y SLl?

Del comentario del usuario 'caos' identifiqué estos estados como:

Ssl - sleeping, is a session loader and multi-threaded. 
SL - sleeping, has pages locked into memory
Sl - sleeping, and the process is multi-threaded

Entonces, ¿qué significan estos? ¿Un proceso en 'SL - inactivo, tiene páginas bloqueadas en la memoria', utiliza la memoria? Si hay muchos de esos procesos 'SL', ¿le están quitando memoria a otros procesos?

(Todos estos procesos tienen su proceso principal como init, si eso hace alguna diferencia).

Respuesta1

Esto es de la pspágina de manual:

CÓDIGOS DE ESTADO DE PROCESO: Estos son los diferentes valores que mostrarán los especificadores de salida s, stat y state (encabezado "STAT" o "S") para describir el estado de un proceso:

   D    uninterruptible sleep (usually IO)
   R    running or runnable (on run queue)
   S    interruptible sleep (waiting for an event to complete)
   T    stopped, either by a job control signal or because it is being traced.
   W    paging (not valid since the 2.6.xx kernel)
   X    dead (should never be seen)
   Z    defunct ("zombie") process, terminated but not reaped by its parent.

   For BSD formats and when the stat keyword is used, additional characters may be
   displayed:
   <    high-priority (not nice to other users)
   N    low-priority (nice to other users)
   L    has pages locked into memory (for real-time and custom IO)
   s    is a session leader
   l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
   +    is in the foreground process group.

información relacionada