proceso(1M) proceso(1M)
NAME
proceso - Prozesse und Kernspeicherverwendung auflisten
SYNTAX
proceso [-s] [-p[v[v]] [-k] [-M]
proceso -c[v[v]]
proceso -r
proceso -u[u]]
ps | proceso [-s] [-p[v[v]]] [-k] [-M]
BESCHREIBUNG
proceso liest die Seitentabellen von Prozessen und Kernsegmenten.
Diese Seitentabellen enthalten die Seitentabelleneinträge für jede
Seite im Adreßbereich von Prozessen und des Kerns. Durch Prüfung der
einzelnen Flags der Seitentabelleneinträge kann proceso feststellen,
welche Seiten im Hauptspeicher resident sind und ob die Seiten privat
sind oder gemeinsam mit anderen Prozessen benutzt werden. Systempro-
zesse können nicht analysiert werden.
Die Zugriffsmöglichkeit auf die einzelnen Prozesse ist abhängig von
den Zugriffsrechten des Anwenders.
OPTIONEN
-s Zusammenfassung der Speicherbelegung.
-p Kurzinformationen über alle ausgewählten Prozesse.
-pv Detaillierte Informationen über angegebene Prozesse.
-pvv Detaillierte Informationen über angegebene Prozesse sowie deren
Segmente.
-k Detaillierte Informationen über alle Kernsegmente.
-M Physische Speicherbelegung je Prozeß.
-c Anzeige der laufenden/lauffähigen Prozesse.
-cv Erweiterte Anzeige der laufenden/lauffähigen Prozesse.
-cvv Detaillierte Anzeige der laufenden/lauffähigen Prozesse.
-u Durchsucht die Verweisdatei nach den Speicherabbilddateien
proceso.ref und aktualisiert die Geräte- und I-Node-Einträge.
Verwenden Sie diese Option, wenn Dateisysteme unterschiedlich
eingehängt wurden oder wenn Sie eine Datei proceso.ref von einem
anderen Rechner verwenden.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
proceso(1M) proceso(1M)
-uu Durchsucht alle eingehängten Dateisysteme nach allen Einträgen,
die noch nicht in der Datei proceso.ref zugeordnet wurden.
Hinweis: Dieser Vorgang kann längere Zeit in Anspruch nehmen.
-r Durchsucht alle Verzeichnisse, die in der Datei proceso.dirs auf-
gelistet sind und fügt der Datei proceso.ref Einträge hinzu.
PROZESSSPEICHERTYPEN
Bei Angabe der Option -p listet proceso die Speicherbelegung für alle
ausgewählten Prozesse auf. Der Adreßbereich kann aus drei Abschnitten
bestehen:
process private
Dieser Speichertyp wird ausschließlich von diesem Prozeß verwen-
det. Es handelt sich hierbei normalerweise um initialisierte
Daten, mit malloc(3C) zugeordneten Speicher und das Stacksegment.
shared files
UNIX unterstützt die Abbildung von Dateien (oder Teilen daraus)
im Adreßbereich eines oder mehrerer Programme (memory mapped
files). Dies bedeutet, daß ein Prozeß über normale Speicherzu-
griffe auf diese Daten zugreifen kann. Siehe auch mmap(2). Bei-
spiele für solche im Speicher abgebildete Dateien sind Codeseg-
mente einer ausführbaren Datei oder einer Bibliothek.
shared memory
Gemeinsamer Speicher ist ein Mechanismus der (IPC)-Funktionen
(Interprocess Communication, Interprozeß-Kommunikation) von UNIX.
Bei Prozessen mit gemeinsamem Speicher können Sie sehr schnell
kommunizieren und Daten austauschen.
ZUSAMMENFASSUNG
Wenn keine Option angegeben wird, gibt proceso eine Zusammenfassung
der Speicherbelegung des Systems aus. Beachten Sie bitte, daß in allen
folgenden Zusammenfassungen core für die Größe des verwendeten Haupt-
speichers steht und total die virtuelle Größe angibt. 1 KB entspricht
1024 Byte. Wenn die Option -p angegeben wird, analysiert proceso zudem
die Speicherbelegung der Prozesse.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
proceso(1M) proceso(1M)
******* SUMMARY OF SYSTEM MEMORY USAGE *******
type |number | core(KB) |total(KB)
----------------+-------+----------+-------------
process private | 438 | 74044 | 132964
mapped files | 112 | 18912 | 24132
kernel memory | | 66044 | 186636
memory disk | 1 | 65536 |
shared memory | 0 | 0 | 0
kernel size | | 5548 |
free memory | | 56256 |
----------------+-------+----------+-------------
proceso TOTAL | | 286340 |
----------------+-------+----------+-------------
physical memory | | 327680 |
Hinweis:
Die Gesamtsumme weicht möglicherweise um bis zu 10 Prozent von der
Größe des im System verfügbaren physischen Speichers ab.
PROZESSSPEICHERANALYSE
Bei Angabe der Option -pv wird für jeden Prozeß und jede im Speicher
abgebildete Datei des Systems eine detailliertere Zusammenfassung aus-
gegeben.
******* ANALYSIS OF SYSTEM MEMORY USAGE BY PROCESSES *******
|process private| shared files | shared memory |
pid | core total | core total | core total | cmd
------+---------------+--------------+---------------+-----------------------
661 | 44 128 | 268 720 | 0 0 | /usr/lib/saf/sac -t 300
9260 | 132 484 | 396 408 | 0 0 | vi xioinfo.h xiospb.h
267 | 4 24 | 28 68 | 0 0 | cat /dev/osm
324 | 28 72 | 204 428 | 0 0 | /opt/log3/bin/log3svr -etsdm1440
325 | 28 72 | 152 412 | 0 0 | /opt/log3/bin/log3tlog2
326 | 36 64 | 168 420 | 0 0 | /opt/log3/bin/log3syslogd
490 | 0 324 | 0 716 | 0 0 | /usr/lib/netsvc/rwall/rpc.rwalld
158 | 436 636 | 292 772 | 0 0 | /sbin/errord
454 | 240 480 | 416 812 | 0 0 | /usr/sbin/rpcbind
298 | 8 52 | 164 412 | 0 0 | /usr/sbin/silsd
349 | 124 340 | 320 824 | 0 0 | /usr/sbin/syslogd
:
:
6852 | 108 192 | 744 820 | 0 0 | in.rlogind
9950 | 356 492 | 3524 4144 | 0 0 | mwm
14415 | 36 48 | 168 180 | 0 0 | /usr/lib/X11/xdm/Xsession
------+---------------+--------------+---------------+-----------------------
total 85832 34356 KB
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
proceso(1M) proceso(1M)
******** LIST OF MEMORY MAPPED FILES ********
| core total |
dev(dec) ino(dec) | (KB) (KB) | name
------------------+----------------+------------------------
1048576 6185 | 28 68 | /sbin/cat
1048576 6185 | 28 68 | /usr/bin/cat
1048576 6217 | 24 28 | /sbin/errord
1048576 6240 | 168 180 | /sbin/jsh
1048578 4183 | 576 632 | /usr/lib/libX11.so.5.0
:
1048578 4184 | 224 284 | /usr/lib/libXaw.so
1048578 4184 | 224 284 | /usr/lib/libXaw.so.5.0
1048578 4186 | 32 40 | /usr/lib/libXext.so
1048578 28787 | 280 280 | -
------------------+----------------+------------------------
total 20632 23984 KB
Hinweis:
Dateien werden in der Tabelle nur dann mit ihrem vollständigen Namen
aufgelistet, wenn dieser in der Referenztabelle proceso.ref enthalten
ist. Die Ergänzung der Referenztabelle um den Namen kann mit der
Option -uu erfolgen.
DETAILLIERTE PROZESSANALYSE
Bei Angabe der Option -pvv gibt proceso eine detaillierte Liste aller
Speichersegmente der angegebenen Prozesse aus. type gibt den einzelnen
Segmenttyp an, der ein Name einer im Speicher abgebildeten Datei oder
eine der Angaben PRIVATE, DATA SEGMENT (.data section), STACK oder
SHARED MEMORY sein kann. Bei der Summierung der Werte der einzelnen
Segmente werden zum privaten private-Anteil die Segmenttypen PRIVATE,
DATA SEGMENT und STACK addiert. Segmente von "Memory Mapped"-Dateien
sind an ihrem Dateinamen erkennbar: "-", wenn der proceso.ref-Eintrag
fehlt, und werden zum Wert mapped aufaddiert. Das Feld flags gibt die
Attribut-Flags an:
R Das Segment kann gelesen werden.
W In das Segment kann geschrieben werden.
X Das Segment ist ausführbar.
C Gemeinsames Segment (gemeinsamer Speicher)
B Datensegment (Abschnitt .data)
S Stacksegment
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
proceso(1M) proceso(1M)
PID: 1578 CMD: //usr/lib/saf/listen tcp
N | start(X) | core(KB) |total(KB) | flags | type
---+----------+----------+----------+--------------+--------------
0 | 0 | 0 | 16 | R . X . . . | PRIVATE
1 | 400000 | 80 | 80 | R . X . . . | /usr/lib/saf/listen
2 | 450000 | 32 | 32 | R W X . . . | PRIVATE
3 | 458000 | 176 | 176 | R W X . B . | DATA SEGMENT
4 | 8000000 | 320 | 480 | R . X . . . | /usr/lib/libc.so.1
5 | 807C000 | 16 | 16 | R W . . . . | PRIVATE
6 | 80B4000 | 48 | 48 | R W X . . . | PRIVATE
7 | 80C0000 | 0 | 16 | R W X . . . | PRIVATE
8 | 8100000 | 176 | 272 | R . X . . . | /usr/lib/libnsl.so
9 | 8180000 | 32 | 32 | R W X . . . | PRIVATE
10 | 81C0000 | 96 | 96 | R . X . . . | /usr/lib/libsocket.so
11 | 8214000 | 16 | 16 | R W X . . . | PRIVATE
12 | 7FFF4000 | 32 | 32 | R W X . . S | STACK
---+----------+----------+----------+--------------+--------------
private | 352 | 384 |
mapped | 672 | 928 |
shared mem | 0 | 0 |
--------------+----------+----------+
PID: 4339 CMD: /sbin/quickdd if=/dev/zero of=/dev/null bs=512 count=1000000
N | start(X) | core(KB) |total(KB) | flags | type
---+----------+----------+----------+--------------+--------------
0 | 0 | 0 | 16 | R . X . . . | PRIVATE
1 | 400000 | 64 | 80 | R . X . . . | /sbin/quickdd
2 | 450000 | 16 | 16 | R W X . . . | PRIVATE
3 | 454000 | 0 | 16 | R W X . B . | DATA SEGMENT
4 | 8004000 | 0 | 1056 | R W X C . . | SHARED MEMORY
5 | 8110000 | 16 | 16 | R W X C . . | SHARED MEMORY
6 | 7FFF4000 | 16 | 32 | R W X . . S | STACK
---+----------+----------+----------+--------------+--------------
private | 32 | 80 |
mapped | 64 | 80 |
shared mem | 16 | 1072 |
--------------+----------+----------+
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98
proceso(1M) proceso(1M)
KERNSPEICHERBELEGUNG
Die Option -k gibt eine detaillierte Liste der zugeordneten Kernseg-
mente sowie des verfügbaren (freien) Speichers aus.
****** ANALYSIS OF SYSTEM KERNEL MEMORY USAGE *******
start end segment core(KB) total(KB)
--------+--------+--------+---------+-----------
805C2000 805CB000 SEGK 28968 36864
805CB000 805E290C SEGMAP 21524 96524
805E3000 805F0000 SEGU 5300 53248
struct page array 6753
--------------------------+---------+-----------
KERNEL 62544 186636
PHYSISCHE SPEICHERBELEGUNG
proceso zeigt prozeßbezogen die physische Speicherbelegung an. Ent-
sprechend den Informationen in der Datei proceso.sect werden zu den
einzelnen physischen Adressen die jeweiligen "Speicherbereiche" (z. B.
CPU-Boards) ausgegeben.
Weiterhin werden je Prozeß die Informationen gemäß DETAILLIERTE PRO-
ZESSANALYSE ausgegeben.
PID: 27709 CMD: -ksh
******** LIST OF PHYSICAL ADDRESSES ********
S vaddr(X) | paddr(X):sect paddr(X):sect paddr(X):sect paddr(X):sect
-------------+----------------------------------------------------------------
* 0 | 2BA80000:b21
* 400000 | 3B0C0000:b24 3D3D0000: A100000: 2A870000:b21
410000 | 3DB00000: C810000: 32340000:b22 225F0000:b21
420000 | 16100000:b16 30BB0000:b22 3CB80000: 31C90000:b22
430000 | 139A0000:b15 1E9D0000:b17 3DA60000: 8510000:
440000 | 1BE60000:b17
* 480000 | 3C9C0000: 18510000:b17 D9A0000:
* 48C000 | 6590000:b14 39300000:b24 35690000:b23 1A640000:b17
* 7FFE8000 | - 31270000:b22
N | start(X) | core(KB) | total(KB) | flags | type
---+----------+----------+-----------+--------------+-----------------------
0 | 0 | 16 | 16 | R . X . . . | PRIVATE
...
PROZESSINFORMATIONEN
proceso zeigt Prozeßinformationen/-daten an - vergleichbar mit denen
des Kommandos ps.
Ohne weitere Parameter werden nur die zur aktuellen Sitzung gehörenden
Prozesse angezeigt.
Seite 6 Reliant UNIX 5.44 Gedruckt 11/98
proceso(1M) proceso(1M)
Der Zusatzparameter v bewirkt die Anzeige aller Prozesse des angemel-
deten Benutzers.
Bei Angabe des Zusatzparameters vv werden für diese Prozesse weiterge-
hende Informationen ausgegeben.
Alle Ausgabearten enthalten Informationen über die Prozessor-Affinität
von Prozessen. Ein niedriger Wert AFFSEC bedeutet dabei, daß der Pro-
zeß erst seit kurzem auf dieser CPU läuft. Der Wert CACHE gibt die
Cache-Belegung (Anzahl "cache lines") durch den Prozeß an - dieser
Eintrag ist nur für 64-Bit-Systeme von Bedeutung.
******* RUNNING/RUNNABLE PROCESSES *******
PID PPID UID CPU S PRI CLS AFFSEC CACHE USR SYS SLEEP CMD
15387 9754 215 1 O 34 TS 0.00 4563340 0:00 0:00 0:00 ./proceso -cvv
15388 9754 215 0 R 34 TS 0.04 4563340 0:00 0:00 0:00 pg
9754 7464 215 1 S 34 TS 0.01 4563340 0:00 0:00 0:00 ksh
ARBEITSSATZ EINES PROZESSES
proceso ist zur Feststellung des Arbeitssatzes ("working set") eines
Prozesses sowie zur Berechnung des für eine bestimmte Anzahl von
Benutzern verwendeten Hauptspeichers äußerst nützlich. Mit der folgen-
den Syntax können Sie den Arbeitssatz eines Benutzers feststellen:
ps -u myuser | proceso -pv
Hinweis:
proceso wertet die jeweils erste Spalte der ps Ausgabe als die
Prozeß-ID. Daher sollten nur ps-Optionen verwendet werden, die in der
ersten Spalte die Prozeß-ID ausgeben.
Der Gesamtwert für den privaten Speicher gibt die Speicherbelegung für
einen Benutzer aus. Diese können Sie mit der Anzahl der Benutzer mul-
tiplizieren, die dieselbe Prozeßumgebung verwenden.
HINWEISE
proceso kann zu inkorrekten Ergebnissen oder sogar zu Speicherabzügen
führen, wenn das System nicht von /unix aus gebootet wurde. Prüfen Sie
daher bitte, ob /unix mit dem gebooteten Kernabbild verknüpft ist.
DATEIEN
/opt/bin/proceso/proceso.ref
Da proceso während der Ausführung den Namen einer im Speicher
abgebildeten Datei nicht feststellen kann, verwendet das Kommando
eine Querverweisliste, die den Dateinamen sowie die Geräte- und
I-Node-Nummer enthält. Die Datei proceso.ref enthält alle Datei-
namen der im Speicher abgebildeten Dateien und ihre zugeordneten
Geräte- und I-Node-Nummern.
Seite 7 Reliant UNIX 5.44 Gedruckt 11/98
proceso(1M) proceso(1M)
Bei Ausführung von proceso -pv wird für Dateien, für die noch
kein Querverweis existiert, in der Datei proceso.ref ein Eintrag
mit Geräte- und I-Node-Nummer hinzugefügt. Mit proceso -u wird in
proceso.ref der zugehörige Dateiname ergänzt.
/opt/bin/proceso/proceso.dirs
Wird die Datei proceso.ref aus bestimmten Gründen entfernt oder
gelöscht, können Sie eine neue Verweisdatei erstellen, die auf
den in proceso.dirs aufgelisteten Verzeichnissen basiert. Diese
Datei sollte die Verzeichnisnamen aller Binärdateien und Biblio-
theken enthalten, die möglicherweise von den ausgeführten Prozes-
sen verwendet werden. Sie können auch Verzeichniseinträge für
bestimmte Zusatzprodukte (Datenbanken, usw.) hinzufügen. Siehe
auch die Option -r.
/opt/bin/proceso/proceso.sect
Die Datei ist nur für die Funktion M von Bedeutung. Sie enthält
für ausgewählte physische Speicherbereiche (z. B. Speicher eines
CPU-Boards)
1) das Kennzeichen für diesen Bereich (max. 4 Zeichen) (1. Spalte);
2) seine hexadezimale Anfangsadresse (2. Spalte);
3) seine hexadezimale Länge (3. Spalte).
Wird für Folgeeinträge als Anfangsadresse "0" angegeben, so
ergibt sich die Startadresse aus "Endeadresse+1" des vorangehen-
den Eintrags. Existiert die Datei proceso.sect im aktuellen Ver-
zeichnis, so wird diese benutzt.
Informationen zur Zuordnung des Speichers zu verschiedenen Boards
können mit showconf -M ermittelt werden.
SIEHE AUCH
ps(1), crash(1M), showconf(8).
Seite 8 Reliant UNIX 5.44 Gedruckt 11/98