Befehl "procmap"
Zweck
Gibt die Adressraumzuordnung für Prozesse aus.
Syntax
procmap [ -F ] [ -S ] { -X [-f] [-n] [-u] [-q]}] ProcessID ...
Beschreibung
Das Dateisystem /proc ist ein Mechanismus für die Steuerung von Prozessen. Es ermöglicht auch den Zugriff auf Informationen zum aktuellen Status von Prozessen und Threads, die jedoch nur im Binärformat zur Verfügung stehen. Die proctools-Befehle stellen ASCII-Berichte bereit, die auf einigen der verfügbaren Informationen basieren.
Bei den meisten Befehle können Sie eine Liste von Prozess-IDs oder /proc/Prozess-IDs-Strings als Eingabe angeben. Daher kann die Shellerweiterung /proc/* verwendet werden, um alle Prozesse im System anzugeben.
Jeder der proctools-Befehle erfasst Informationen aus /proc für die angegebenen Prozesse und zeigt sie dem Benutzer an. Die proctools-Befehle wie procrun und procstopstarten und stoppen einen Prozess über die Schnittstelle /proc .
Die Informationen zum Dateisystem /proc, die mithilfe der Befehle zusammengestellt wurden, sind eine Momentaufnahme des aktuellen Status der Prozesse und können daher zu jedem Zeitpunkt variieren. Dies gilt nicht für gestoppte Prozesse.
Der Befehl procmap gibt die die Adressraumzuordnung für Prozessen aus. Er zeigt die Startadresse und die Größe jedes zugeordneten Segments im Prozess an. Es ruft alle Informationen aus den Dateien /proc/Prozess-ID/map ab.
Flags
| Element | Beschreibung |
|---|---|
| -F | Erzwingt, dass der Befehl procmap die Steuerung des Zielprozesses übernimmt, selbst wenn ein anderer Prozess die Steuerung hat. |
| -S | Zeigt Informationen zum gemeinsam genutzten Speicher des Zielprozesses an. Anmerkung: Die Option -S ist veraltet. Sie können die Option -X für ähnliche Funktionen verwenden.
|
| -X | Zeigt erweiterte Informationen zu jedem Adressbereich an und enthält alle zugeordneten Objekte des Zielprozesses. |
| -N | Zeigt unsortierte Adressbereiche für die zugeordneten Segmente des Zielprozesses an. |
| -u | Zeigt die Werte in der am besten geeigneten Einheit an. Die im Bericht verwendete Einheit wird für jede Metrik angegeben. |
| -q | Unterdrückt die Headerinformationen. |
| -F | Zeigt den Dateinamen anstelle der Einheitennummer und der I-Node-Nummer für die zugeordnete Datei des Zielprozesses an. In der Spalte MAPPED OBJECT für die zugeordneten Dateien wird einer der folgenden Werte angezeigt:
|
| ProcessID | Gibt die Prozess-ID an. |
| Element | Beschreibung |
|---|---|
| Start-ADD | Die Startadresse der Speicherregion. |
| End-ADD | Die Endadresse der Speicherregion. |
| SIZE | Die Größe der Speicherregion. |
| MODE | Die Lese-, Schreib- und Ausführungsberechtigungen der Speicherregion. |
| PSIZ | Die Seitengröße der Speicherregion. Es werden die folgenden Werte angezeigt: |
| s | Seitengröße von 4 KB |
| m | Seitengröße von 64 KB |
| L | Seitengröße von 16 MB |
| H | Seitengröße von 16 GB |
| TYPE | Der Typ der Speicherregion. Es werden die folgenden Werte angezeigt: |
| HEAP | Die Heapspeicherregion. |
| KER/LDR | Sonstige Kernel-/Ladeprogrammsegmente. |
| KERTXT | Der Kerneltext. |
| MAINDATA | Die Hauptdaten/BSS für den Prozess. |
| MAINTEXT | Die ausführbare Hauptdatei für den Prozess. |
| MFILE | Die Zuordnungsdatei. |
| PLIBDATA | Die persönlichen Bibliotheksdaten. |
| PLIBTEXT | Der persönliche Bibliothekstext. |
| PMMAP | Die private Speicherzuordnung. |
| PMMFILE | Die primate Speicherzuordnungsdatei. |
| PMMPSXRT | Die private POSIX-Echtzeitzuordnung des gemeinsam genutzten Speichers. |
| REALMEM | Der zugeordnete Realspeicher. |
| SHM | Der gemeinsam genutzte Speicher. |
| SHMEXT | Der erweiterte gemeinsam genutze Speicher. |
| SHMFILE | Die gemeinsam genutzte Speicherdatei. |
| SLIBDATA | Die gemeinsam genutzten Bibliotheksdaten. |
| SLIBTEXT | Der gemeinsam genutzte Bibliothekstext. |
| SMMAP | Die gemeinsam genutzte Speicherzuordnung. |
| SMMFILE | Die gemeinsam genutzte Speicherzuordnungsdatei. |
| SMMPSXRT | Der gemeinsam genutzte POSIX-Echtzeitspeicher. |
| STACK | Die Stackregion. |
| VSID | Die virtuelle Segment-ID der Speicherregion. |
| MAPPED OBJECT | Der Name des zugeordneten Objekts. |
Beispiele
- Geben Sie Folgendes ein, um den Adressraum des Prozesses 12644 anzuzeigen:
Die Ausgabe dieses Befehls könnte folgendermaßen aussehen:procmap 1264412644 : -ksh 10000000 232K read/exec ksh 20000ef8 54K read/write ksh d008b100 80K read/exec /usr/lib/libiconv.a[shr4.0] f03e4c70 41K read/write /usr/lib/libiconv.a[shr4.o] d0080100 40K read/exec /usr/lib/libi18n.a[shr.o] f03f0b78 4K read/write /usr/lib/libi18n.a[shr.o] d007a000 11K read/exec /usr/lib/nls/loc/en_US d007d130 8K read/write /usr/lib/nls/loc/en_US d00790f8 2K read/exec /usr/lib/libcrypt.a[shr.o] f03e3508 0K read/write /usr/lib/libcrypt.a[shr.o] d02156c0 2282K read/exec /usr/lib/libc.a[shr.o] f03474e0 621K read/write /usr/lib/libc.a[shr.o] Total 3380K - Geben Sie Folgendes ein, um die Adressbereiche des Prozesses mit PID 1573580 anzuzeigen:
# procmap -X 1573580 1573580 : ./self_mod_32 Start-ADD End-ADD SIZE MODE PSIZ TYPE VSID MAPPED OBJECT 0 10000000 262144K r-- m KERTXT 20002 10000000 10001d33 7K rwx sm MAINTEXT 1730DF3 self_mod_32 200001d0 200007fc 1K rw- sm MAINDATA 4F0CCF self_mod_32 200007fc 20011000 66K rw- sm HEAP 4F0CCF 20011000 20011685 1K rwx sm PLIBTEXT 4F0CCF ./libself_priv.a[dl_prv32.o] 20011685 2001234c 3K rw- sm HEAP 4F0CCF 2001234c 200125c4 0K rw- sm PLIBDATA 4F0CCF ./libself_priv.a[dl_prv32.o] 200125c4 20013000 2K rw- sm HEAP 4F0CCF 20013000 2ff23000 261184K rw- sm STACK 4F0CCF 30000000 30001000 4K rw- sm SMMFILE 8C0C0C dev:10,7 ino:35 30001000 30002000 4K r-- sm SMMFILE 8C0C0C dev:10,7 ino:36 30002000 30003000 4K rw- sm PMMFILE 8C0C0C dev:10,7 ino:35 30003000 30004000 4K r-- sm PMMFILE 8C0C0C dev:10,7 ino:36 30004000 30005000 4K rw- sm SMMPSXRT 8C0C0C POSIX RT SHM 1 30005000 30006000 4K r-- sm SMMPSXRT 8C0C0C POSIX RT SHM 1 30006000 30007000 4K rw- sm PMMPSXRT 8C0C0C POSIX RT SHM 2 30007000 30008000 4K r-- sm PMMPSXRT 8C0C0C POSIX RT SHM 2 30008000 30009000 4K rw- sm SMMAP 8C0C0C 30009000 3000a000 4K r-- sm SMMAP 8C0C0C 3000a000 3000b000 4K rw- sm PMMAP 8C0C0C 3000b000 3000c000 4K r-- sm PMMAP 8C0C0C 40000000 40000000 0K rw- s SHMFILE 250CA5 dev:10,7 ino:35 50000000 50000000 0K r-- s SHMFILE 1960D16 dev:10,7 ino:36 60000000 60001000 4K rw- sm SHM D0C8D shmid:16 70000000 70001000 4K r-- sm SHM 11F0D9F shmid:17 d0100100 d052343c 4236K rwx m SLIBTEXT 3010B81 /usr/lib/libc.a[shr.o] d0564100 d0564abe 2K rwx m SLIBTEXT 3010B81 /usr/lib/libcrypt.a[shr.o] d0652100 d0653654 5K rwx m SLIBTEXT 3010B81 ./libself.a[support32.o] d0654380 d0654a02 1K rwx m SLIBTEXT 3010B81 ./libself.a[shr32.o] d0655a80 d0656105 1K rwx m SLIBTEXT 3010B81 ./libself.a[dl_shr32.o] f05935cc f0593844 0K rw- sm PLIBDATA 17F0DFF ./libself.a[shr32.o] f06a5b6f f06a60c0 1K rw- sm PLIBDATA 17F0DFF ./libself.a[support32.o] f07b4ccc f07b4f44 0K rw- sm PLIBDATA 17F0DFF ./libself.a[dl_shr32.o] f07dfbb0 f08b7388 861K rw- sm PLIBDATA 17F0DFF /usr/lib/libc.a[shr.o] f08b86a8 f08b87c8 0K rw- sm PLIBDATA 17F0DFF /usr/lib/libcrypt.a[shr.o] Total 528579K - Geben Sie Folgendes ein, um die Adressbereiche mit Dateinamenzuordnung für die zugeordnete Datei des Prozesses mit der PID 2031848 anzuzeigen:
# procmap -Xf 2031848 2031848 : ./self_mod_64 Start-ADD End-ADD SIZE MODE PSIZ TYPE VSID MAPPED OBJECT 0 10000000 262144K r-- m KERTXT 20002 100000000 100002058 8K rwx sm MAINTEXT 3C0CBC self_mod_64 1100002d0 1100009e0 1K rw- sm MAINDATA 240CA4 self_mod_64 1100009e0 110010a00 64K rw- sm HEAP 240CA4 800000000000e80 8000000000012eb 1K rwx sm PLIBTEXT 5A0CDA ./libself_priv.a[dl_prv64.o] 8001000a0000180 8001000a00001c0 0K rw- sm PLIBDATA 16A0DEA ./libself_priv.a[dl_prv64.o] 800200140000000 80020014003d000 244K r-- sm KER/LDR 2A20E22 8fffffff0000000 900000000000000 262144K r-- s KER/LDR 530CD3 900000000000e00 900000000440541 4349K rwx m SLIBTEXT 28C0E0C /usr/lib/libc.a[shr_64.o] 900000000466400 900000000466f43 2K rwx m SLIBTEXT 28C0E0C /usr/lib/libcrypt.a[shr_64.o] 900000000467980 900000000468e98 5K rwx m SLIBTEXT 28C0E0C ./libself.a[support64.o] 900000000469100 900000000469568 1K rwx m SLIBTEXT 28C0E0C ./libself.a[shr64.o] 90000000046a800 90000000046ac6b 1K rwx m SLIBTEXT 28C0E0C ./libself.a[dl_shr64.o] 9001000a0000580 9001000a010cb88 1073K rw- sm PLIBDATA 12A0DAA /usr/lib/libc.a[shr_64.o] 9001000a010da28 9001000a010dbb8 0K rw- sm PLIBDATA 12A0DAA /usr/lib/libcrypt.a[shr_64.o] 9001000a0137380 9001000a01378b8 1K rw- sm PLIBDATA 12A0DAA ./libself.a[support64.o] 9001000a0248400 9001000a0248440 0K rw- sm PLIBDATA 12A0DAA ./libself.a[shr64.o] 9001000a045ab00 9001000a045ab40 0K rw- sm PLIBDATA 12A0DAA ./libself.a[dl_shr64.o] 900200140000000 900200150000000 262144K r-- s KER/LDR B70037 9ffffffd0000000 9ffffffe0000000 262144K r-- sm KER/LDR 50005 9ffffffe0000000 9fffffff0000000 262144K r-- sm KER/LDR E000E 9fffffff0000000 9fffffff000fa8e 62K rwx s SLIBTEXT 1180198 /usr/ccs/bin/usla64 9fffffff000fa8e 9fffffff000fa8e 0K rw- s PLIBDATA 1180198 /usr/ccs/bin/usla64 a00000000000000 a00000000001000 4K rw- sm SMMFILE 420CC2 /tmp/mmfile1 a00000000001000 a00000000002000 4K r-- sm SMMFILE 420CC2 /tmp/mmfile2 a00000000002000 a00000000003000 4K rw- sm PMMFILE 420CC2 /tmp/mmfile1 a00000000003000 a00000000004000 4K r-- sm PMMFILE 420CC2 /tmp/mmfile2 a00000000004000 a00000000005000 4K rw- sm SMMPSXRT 420CC2 POSIX RT SHM 1 a00000000005000 a00000000006000 4K r-- sm SMMPSXRT 420CC2 POSIX RT SHM 1 a00000000006000 a00000000007000 4K rw- sm PMMPSXRT 420CC2 POSIX RT SHM 2 a00000000007000 a00000000008000 4K r-- sm PMMPSXRT 420CC2 POSIX RT SHM 2 a00000000008000 a00000000009000 4K rw- sm SMMAP 420CC2 a00000000009000 a0000000000a000 4K r-- sm SMMAP 420CC2 a0000000000a000 a0000000000b000 4K rw- sm PMMAP 420CC2 a0000000000b000 a0000000000c000 4K r-- sm PMMAP 420CC2 a00010000000000 a00010000000000 0K rw- s SHMFILE 250CA5 /tmp/mmfile1 a00010010000000 a00010010000000 0K r-- s SHMFILE 1960D16 /tmp/mmfile2 a00020000000000 a00020000001000 4K rw- sm SHM 5B0CDB shmid:18 a00030000000000 a00030000001000 4K r-- sm SHM 1980D18 shmid:19 fffffff00000000 1000000000000000 4194304K rw- sm STACK 10D0D8D Total 5510897K
Dateien
| Element | Beschreibung |
|---|---|
| /proc | Enthält das Dateisystem /proc. |