Arten von Schlafmodi für Prozesse

Arten von Schlafmodi für Prozesse

Ich bin darauf gestoßen, als ich die Ursache für den Serverabsturz ermittelt habe, wenn der Oracle-Prozess beendet wird. Ich habe den auf dem Server laufenden Oracle-Prozess aufgelistet ps aux | grep oracleund hier ist die Ausgabe:

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

Richtig, alle diese Prozesse schlafen und ihrem Statuscode zufolge gibt es verschiedene Arten von Schlafzuständen - Ssl, Sl, SLl. Ich habe nach den verschiedenen Arten von Prozessschlafzuständen gegoogelt und konnte nur Informationen über Festplattenschlafzustände, unterbrechbare und nicht unterbrechbare Schlafzustände finden. Ich sehe keine Informationen darüber, was wie Unterstatus (die Ssl, Sl, SLl) verschiedener Schlafzustände aussieht. Weiß hier jemand, worin sich SsL, Sl und SLl unterscheiden?

Aus dem Kommentar des Benutzers „Chaos“ habe ich diese Status wie folgt identifiziert:

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

Was bedeutet das also? Nutzt ein Prozess im „SL – schläft, hat Seiten im Speicher gesperrt“ den Speicher? Wenn es viele dieser „SL“-Prozesse gibt, nehmen sie dann anderen Prozessen Speicher weg?

(Alle diese Prozesse haben ihren übergeordneten Prozess als init, falls das einen Unterschied macht).

Antwort1

Dies stammt aus der psManpage:

PROZESSZUSTANDSCODES: Hier sind die verschiedenen Werte, die die Ausgabespezifizierer s, stat und state (Überschrift „STAT“ oder „S“) anzeigen, um den Zustand eines Prozesses zu beschreiben:

   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.

verwandte Informationen