Tipos de modos de suspensão para processos

Tipos de modos de suspensão para processos

Me deparei com isso enquanto solucionava o motivo pelo qual nosso servidor fica inativo toda vez que o processo Oracle é encerrado. Listei o processo Oracle em execução no servidor ps aux | grep oraclee aqui está a saída:

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

Certo, todos esses processos estão em suspensão e, a partir de seu código de status, existem vários tipos de suspensão - Ssl, Sl, SLl. Pesquisei no Google sobre os diferentes tipos de suspensão de processos e não consegui encontrar apenas sobre suspensão de disco, suspensão interrompível e não interrompível. Não vejo nenhuma informação sobre o que parecem ser substatus (os Ssl, Sl, SLl) de vários sonos. Alguém aqui sabe como SsL, Sl e SLl são diferentes?

A partir do comentário do usuário 'caos', identifiquei esses status 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

Então, o que isso significa? Um processo em 'SL - dormindo, tem páginas bloqueadas na memória', usando a memória? Se houver muitos desses processos 'SL', eles estão tirando memória de outros processos?

(Todos esses processos têm seu processo pai como init, se isso fizer alguma diferença).

Responder1

Isto é da pspágina de manual:

CÓDIGOS DE ESTADO DO PROCESSO: Aqui estão os diferentes valores que os especificadores de saída s, stat e estado (cabeçalho "STAT" ou "S") exibirão para descrever o estado de um processo:

   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.

informação relacionada