GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Perintah pmap Linux untuk Pemula (5 Contoh)

Baris perintah Linux menawarkan banyak alat yang membantu Anda mengetahui lebih banyak tentang proses yang saat ini aktif di sistem Anda. Salah satu utilitas tersebut adalah pmap, yang melaporkan peta memori proses. Dalam tutorial ini, kita akan membahas dasar-dasar pmap menggunakan beberapa contoh yang mudah dipahami.

Namun sebelum kita melakukannya, perlu disebutkan bahwa semua contoh di sini telah diuji pada mesin Ubuntu 20.04 LTS.

Perintah pmap Linux

Perintah pmap di Linux memungkinkan Anda melihat peta memori dari satu atau lebih dari satu proses. Berikut sintaksnya:

pmap [opsi] pid [...]

Dan inilah cara halaman manual alat menjelaskannya:

Perintah pmap melaporkan peta memori dari suatu proses atau proses.

Berikut adalah beberapa contoh gaya Q&A yang akan memberi Anda ide yang lebih baik tentang cara kerja perintah pmap.

Q1. Bagaimana cara menggunakan pmap?

Penggunaan dasar sederhana. Cukup jalankan perintah 'pmap' tanpa opsi apa pun. Tentu saja, Anda harus melewati PID proses sebagai input.

Sebagai contoh, saya menggunakan pmap dengan cara berikut:

pmap 5146

Dan inilah sebagian dari output yang dihasilkan:

5146:   gedit
000055bde4835000      8K r-x-- gedit
000055bde4a36000      4K r---- gedit
000055bde4a37000     4K rw--- gedit
000055 anon ]
00007fc910000000    132K rw---   [ anon ]
00007fc910021000  65404K -----   [ anon ]
00007fc918000000    896K rw---   [ segera ]
00007fc4640K -->00007f ---   [ segera ]
00007fc91c750000    204K r---- UbuntuMono-R.ttf
00007fc91c783000    644K r-x-- libaspell.so.15.2.0
00007fc91c824000   2048K ----- libaspell .so.15.2.0
00007fc91ca24000     20K r---- libaspell.so.15.2.0
00007fc91ca29000      4K rw--- libaspell.so.15.2.0
00007fc91ca2a000  -x libenchant_aspell.so
00007fc91ca2c000   2044K ----- libenchant_aspell.so
00007fc91cc2b000      4K r---- libenchant_aspell.so
00007fc91cc2c000       4K 07000K r-x-- libenchant_hspell.so
00007fc91cc38000   2044K ----- libenchant_hspell.so00007fc91ce37000      4K r---- libenchant_hspell.so
00007fc91ce38000     12K rw--- libenchant_hspell.so
00007fc91ce3b000    428K r--- libenchant_hspell.so
00007fc91ce3b000    428K r-x- - lib ----- libhunspell-1.6.so.0.0.1
00007fc91d0a5000      4K r---- libhunspell-1.6.so.0.0.1
00007fc91d0a6000     16K rw--- libhunspell-1.6.so. 0.0.1
00007fc91d0aa000     16K r-x-- libenchant_myspell.so
00007fc91d0ae000   2048K ----- libenchant_myspell.so
00007fc91d2ae000      4K r---- lib
...
...

Jadi begitulah, output pertama-tama menunjukkan nama proses dan kemudian mengikutinya dengan peta memori.

Q2. Bagaimana cara membuat pmap menampilkan keluaran yang diperluas?

Untuk membuat output pertunjukan pmap dalam format yang diperluas, gunakan opsi baris perintah -x. Misalnya:

pmap -x 5146

Berikut adalah bagian dari output yang dihasilkan:

5146:Gedit
Alamat Kbytes RSS Mode Mode Kotor
000055bde4835000 8 4 0 R-X-- GEDIT
000055bde4835000 0 0 0 R-X-- GEDIT
000055bde4a3 4 4 4 R-X- GEDIT
000055bde4a34 4 4 4 R-X- GEDIT
000055bde4a34 4 R-x --- gedit
000055bde4a36000       0      0      0 r---- gedit
000055bde4a37000      4      4      4 rw--- gedit
000055    37000    37000    37000 135 -   [ segera ]
00007fc910021000   65404      0       0 -----   [ segera ]
00007fc910021000      0      0       0 -----   [ segera ]       80000 07f 8    0 -----   [ segera ] 
00007f ]
00007fc918000000       0      0      0 rw---   [ segera ]
00007fc9180e0000   64640      0      0 -----   [ segera ]
0 0007fc9180e0000       0       0      0 -----   [ segera ]
00007fc91c750000     204     136      0 r---- UbuntuMono-R.ttf
00007    750000 />00007fc91c783000     644     472       0 r-x-- libaspell.so.15.2.0
00007fc91c783000      0      0      0 r-x-- libaspell .so .15.072.0 .15.2.0
00007fc91c824000       0       0      0 ----- libaspell.so.15.2.0
00007fc91ca24000     20     20     20 r---- libaspell<.so. 0       0 r---- libaspell.so.15.2.0
00007fc91ca29000       4      4      4 rw--- libaspell.so.15.2.0
00007fc91ca29000       0  .0
00007fc91ca2a000       8       8      0 r-x-- libenchant_aspell.so
00007fc91ca2a000      0      0       0 r-x-- libc  
 4 07000
. 00007 fc91ca2c000       0      0      0 ----- libenchant_aspell.so
00007fc91cc2b000      4      4      4 r---- libenchant_aspell.so    0 > .
...
...

Perhatikan bahwa jika Anda membutuhkan lebih banyak detail, Anda dapat menggunakan opsi baris perintah -X.

Q3. Bagaimana cara membuat format perangkat pertunjukan pmap dalam output?

Ini dapat dilakukan dengan menggunakan opsi baris perintah -d. Misalnya:

pmap -d 5146

Dan inilah sebagian dari output yang dihasilkan:

5146:   gedit
Alamat          Mode Kbytes  Offset          Perangkat    Pemetaan
000055bde4835000      8 r-x-- 0000000000000000 008:00008 gedit
000055    3 000000- gedit
000055    3 000055bde4a37000       4 rw--- 0000000000002000 008:00008 gedit
000055bde5d32000   13944 rw--- 0000000000000000 000:00000   [ segera ]
00007fc910000000     132 rw--- 000000 65404 ----- 0000000000000000 000:00000   [ segera ]
00007fc918000000     896 rw--- 0000000000000000 000:00000   [ segera ]
00007fc9180e0000   64640 ----- 0000000000000000 000:00000   [ segera ]
00007fc91c750000     204 r---- 0000000000000000 008:00008 UbuntuMono-R.ttf
00007fc91c783000     644 r-x-- 0000000000000000 008:00008 libaspell.so.15.2. 08:00008 libaspell.so.15.2.0
00007fc91ca24000      20 r---- 00000000000a1000 008:00008 libaspell.so.15.2.0
00007fc91ca29000       4 rw--- 00000000000a6000 008:00008 libaspell.so.15.2.0
00007fc91ca2a000      8 r-x-- 0000000000000000 008:00008 libenchant_aspell.so00007fc91cc2b000       4 r---- 0000000000001000 008:00008 libenchant_aspell.so
00007fc91cc2c000      4 rw--- 0000000000002000 008:00008 libenchant_aspell .so
libenchant_hspell.so
00007fc91cc38000    2044 ----- 000000000000b000 008:00008 libenchant_hspell.so
00007fc91ce37000      4 r---- 000000000000a000 008:000008 libenchant_hspell.so 08:00008 libenchant_hspell.so
...
...
...

Jadi Anda dapat melihat kolom baru 'perangkat' telah ditambahkan di output.

Q4. Bagaimana cara menghapus output pmap dari header dan footer?

Jika Anda tidak ingin melihat hal-hal seperti nama kolom di output pmap, Anda dapat menggunakan opsi baris perintah -q.

Misalnya:

pmap -q -d 5146

Berikut adalah outputnya:

5146:   gedit
000055bde4835000       8 r-x-- 0000000000000000 008:00008 gedit
000055bde4a36000       4 r---- 0000000000001000 008:00008 gedit
000055bde 4a  7000 gedit
000055bde5d32000   13944 rw--- 0000000000000000 000:00000   [ segera ]
00007fc910000000     132 rw--- 0000000000000000 000:00000   [ segera ]
00007fc000910021000   6540000 [ segera ]
00007fc918000000     896 rw--- 0000000000000000 000:00000   [ segera ]
00007fc9180e0000   64640 ----- 0000000000000000 000:00000   [ segera ]
00007fc91c783000     644 r-x-- 0000000000000000 008:00008 libaspell.so.15.2.0
00007fc91c824000    2048 ----- 00000000000a1000 008:00008 libaspell.so.
00007fc91ca24000      20 r---- 00000000000a1000 008:000008 libaspell.so.15.2.0
00007fc91ca29000       4 rw--- 00000000000a6000 008:00008 libaspell.so .15.2.0
00007fc91ca2a000       8 r-x-- 0000000000000000 008:00008 libenchant_aspell.so
00007fc91ca2c000    2044 ----- 0000000000002000 008:000008 libenchant_aspell.so
00007 ->00007fc 008:00008 libenchant_aspell.so
00007fc91cc2c000      4 rw--- 0000000000002000 008:00008 libenchant_aspell.so
00007fc91cc2d000      44 r-x-- 0000000000000000 00 8000008 lib 000000000000b000 008:00008 libenchant_hspell.so
00007fc91ce37000       4 r---- 000000000000a000 008:00008 libenchant_hspell.so
00007fc91ce38000      12 rw--- 000000000000b

Jadi Anda dapat melihat header telah dihapus dari output.

Q5. Bagaimana cara membuat pmap menampilkan path lengkap di output?

Jika Anda ingin pmap menampilkan path lengkap ke file di kolom pemetaan, Anda dapat menggunakan opsi baris perintah -p.

Misalnya:

pmap -p 5146

Dan inilah output yang dihasilkan oleh perintah ini:

5146:   gedit
000055bde4835000      8K r-x-- /usr/bin/gedit
000055bde4a36000      4K r---- /usr/bin/gedit
000055bde4a37000      4K rw /bin/gedit
000055bde5d32000  13944K rw---   [ segera ]
00007fc910000000    132K rw---   [ segera ]
00007fc910021000  65404K -----   [ segera ]
00007 rw---   [ segera ]
00007fc9180e0000  64640K -----   [ segera ]
00007fc91c750000    204K r---- /usr/share/fonts/truetype/ubuntu/UbuntuMono-R.ttf
00007fc91c783000    644K r-x-- /usr/lib/x86_64-linux-gnu/libaspell.so.15.2.0
00007fc91c824000   2048K ----- /usr/lib/x86_64-linux-gnu/libaspell.so .15.2.0
00007fc91ca24000     20K r---- /usr/lib/x86_64-linux-gnu/libaspell.so.15.2.0
00007fc91ca29000      4K rw--- /usr/lib/x86_64- linux-gnu/libaspell.so.15.2.0
00007fc91ca2a000      8K r-x-- /usr/lib/x86_64-linux-gnu/enchant/libenchant_aspell.so
00007fc91ca2c000   2044K ----- /usr/ lib/x86_64-linux-gnu/enchant/libenchant_aspell. jadi
00007fc91cc2b000      4K r---- /usr/lib/x86_64-linux-gnu/enchant/libenchant_aspell.so
00007fc91cc2c000      4K rw--- /usr/lib/x86_64-linux-gnu /libenchant_aspell.so
00007fc91cc2d000     44K r-x-- /usr/lib/x86_64-linux-gnu/enchant/libenchant_hspell.so
00007fc91cc38000   2044K ----- /usr/lib/x86_64-linux-gnu /enchant/libenchant_hspell.so
00007fc91ce37000      4K r---- /usr/lib/x86_64-linux-gnu/enchant/libenchant_hspell.so
00007fc91ce38000     12K rw--- /usr_64-lib/x86_64-lib/x86_ linux-gnu/enchant/libenchant_hspell.so
00007fc91ce3b000    428K r-x-- /usr/lib/x86_64-linux-gnu/libhunspell-1.6.so.0.0.1
00007fc91cea6000   2044K ----- / usr/lib/x86_64-linux-gnu/libhunspell-1.6.so.0.0.1
00007fc91d0a5000      4K r---- /usr/lib/x86_64-linux-gnu/libhunspell-1.6.so.0.0.1
00007fc91d0a6000     16K rw--- /usr/lib/x86_64-linux-gnu/libhunspell-1.6.so.0.0.1
00007fc91d0aa000     16K r-x-- /usr/lib/x86_64-linux-gnu/ enchant/libenchant_myspell.so
00007f c91d0ae000   2048K ----- /usr/lib/x86_64-linux-gnu/enchant/libenchant_myspell.so
00007fc91d2ae000      4K r---- /usr/lib/x86_64-linux-gnu/enchant/libenchant_myspell.so
00007fc91d2af000      4K rw--- /usr/lib/x86_64-linux-gnu/enchant/libenchant_myspell.so
00007fc91d2b0000     44K r-x-- /usr/lib/x86_64-linux-gnu/enchant jadi
00007fc91d2bb000   2048K ----- /usr/lib/x86_64-linux-gnu/enchant/libenchant_ispell.so

Jadi Anda dapat melihat bahwa nama file dengan jalur lengkap dihasilkan di output.

Kesimpulan

Jika pekerjaan Anda melibatkan berurusan dengan peta memori proses, alat ini adalah untuk Anda. Dalam tutorial ini, kami telah menjelaskan penggunaan dasar dari perintah ini. Setelah Anda selesai mempraktikkan semua yang telah kita diskusikan di sini, buka halaman manual alat untuk mempelajarinya lebih lanjut.


Linux
  1. Tutorial perintah cd Linux untuk pemula (8 Contoh)

  2. Tutorial Perintah Tanggal Linux untuk Pemula (8 Contoh)

  3. Tutorial Perintah Hostname Linux untuk Pemula (5 Contoh)

  1. Tutorial perintah comm Linux untuk pemula (5 contoh)

  2. Tutorial Perintah Linux df untuk Pemula (8 Contoh)

  3. Tutorial Perintah Linux du untuk Pemula (10 Contoh)

  1. Tutorial Perintah gema Linux untuk Pemula (5 Contoh)

  2. Tutorial Perintah Linux env Untuk Pemula (5 Contoh)

  3. Tutorial Perintah ukuran Linux untuk Pemula (6 Contoh)