linux應用程式記憶體檢測 pmap

2021-09-30 09:53:26 字數 1993 閱讀 3383

命令格式:pmap

[root@localhost security]# pmap -d 4993

4993: -bash

08047000 596 r-x-- 0000000000000000 003:00006 bash bash的**段

080dc000 28 rwx-- 0000000000094000 003:00006 bash bash的資料段

080e3000 280 rwx-- 00000000080e3000 000:00000 [ anon ] bash的堆

4d575000 84 r-x-- 0000000000000000 003:00006 ld-2.3.4.so 共享庫的**段

4d58a000 4 r-x-- 0000000000015000 003:00006 ld-2.3.4.so 共享庫的資料段

4d58b000 4 rwx-- 0000000000016000 003:00006 ld-2.3.4.so 共享庫的堆

4d58e000 1164 r-x-- 0000000000000000 003:00006 libc-2.3.4.so

4d6b1000 4 r-x-- 0000000000123000 003:00006 libc-2.3.4.so

4d6b2000 12 rwx-- 0000000000124000 003:00006 libc-2.3.4.so

4d6b5000 8 rwx-- 000000004d6b5000 000:00000 [ anon ] 匿名物理記憶體,

4d6de000 8 r-x-- 0000000000000000 003:00006 libdl-2.3.4.so

4d6e0000 8 rwx-- 0000000000001000 003:00006 libdl-2.3.4.so

4d807000 12 r-x-- 0000000000000000 003:00006 libtermcap.so.2.0.8

4d80a000 4 rwx-- 0000000000002000 003:00006 libtermcap.so.2.0.8

b7bc2000 176 r-x-- 0000000000000000 003:00006 gb18030.so

b7bee000 8 rwx-- 000000000002b000 003:00006 gb18030.so

b7bf0000 24 r-xs- 0000000000000000 003:00006 gconv-modules.cache

b7bf6000 1060 r-x-- 0000000002197000 003:00006 locale-archive

b7cff000 2048 r-x-- 0000000000000000 003:00006 locale-archive

b7eff000 36 r-x-- 0000000000000000 003:00006 libnss_files-2.3.4.so

b7f08000 8 rwx-- 0000000000008000 003:00006 libnss_files-2.3.4.so

b7f0a000 8 rwx-- 00000000b7f0a000 000:00000 [ anon ]

b7f20000 8 rwx-- 00000000b7f20000 000:00000 [ anon ]

bff0d000 84 rw--- 00000000bff0d000 000:00000 [ stack ]

ffffe000 4 ----- 0000000000000000 000:00000 [ anon ]

每列的含義如下:

引數 解釋

address:00378000-0038d000 程序所佔的位址空間

kbytes 該虛擬段的大小

rss 裝置號(主裝置:次裝置)

anon 裝置的節點號,0表示沒有節點與記憶體相對應

mode 許可權:r=read, w=write, x=execute, s=shared, p=private(copy on write)

linux應用程式記憶體布局

對向高記憶體位址生長,棧想低記憶體位址生長 linux中所有的應用程式都是這個布局,每個應用程式都是從0x80480000這個位址開始的,這樣衝突嗎?不衝突,因為這個位址是乙個虛擬位址,linux中每個應用程式都有自己的虛擬位址空間。第二行是資料段的記憶體位址範圍。第三行是堆的記憶體位址範圍。最後一...

linux應用程式中,記憶體布局

方法 通過檢視應用程式程序中的程序位址對映檔案實現。例如檢視2053號程序的記憶體布局 命令如下 cat proc 2053 maps 結果如下 通過我們的下面來程式分析各種 變數在程式中的記憶體位置。檔名 addr.c include include int a 全域性未初始化變數 int b 2...

C 應用程式記憶體結構

bss段 bss段 bss segment 通常是指用來存放程式中未初始化的全域性變數的一塊記憶體區域。bss是英文block started by symbol的簡稱。bss段屬於靜態記憶體分配。資料段 資料段 data segment 通常是指用來存放程式中已初始化的全域性變數的一塊記憶體區域。...