如何在Mac OS Catalina上获取有关进程内存映射状态的信息

时间:2019-10-22 10:47:46

标签: bash macos vmmap

我需要获取有关进程内存映射状态的信息,以找到内存映射段,堆和堆栈片段。

在Linux上,命令/proc/<PID>/maps显示有关进程内存映射状态的信息。在MAC上,我尝试使用vmmap PID命令,但是在此命令发出的信息中找不到关于内存映射段,堆和堆栈碎片的信息。

信息应以以下格式显示:

556dfe8b6000-556dfe8bf000 rw-p 00107000 08:08 6553607 /bin/bash
556dfe8bf000-556dfe8c9000 rw-p 00000000 00:00 0
556dff36b000-556dff4e3000 rw-p 00000000 00:00 0 [heap]
7f558b5a3000-7f558b5a9000 rw-p 00000000 00:00 0
7f558cf3f000-7f558cf66000 r-xp 00000000 08:08 1577798 /lib/x86_64-linux-gnu/ld-2.27.so
...
7f558d168000-7f558d169000 rw-p 00000000 00:00 0
7ffe96b2c000-7ffe96b4d000 rw-p 00000000 00:00 0 [stack]
7ffe96b70000-7ffe96b73000 r--p 00000000 00:00 0 [vvar]
7ffe96b73000-7ffe96b75000 r-xp 00000000 00:00 0 [vdso]

对于该实例,我需要找到:堆-556dff36b000-556dff4e3000,堆栈-7ffe96b2c000-7ffe96b4d000,彩信-7f558b397000-7f558b3a2000。

1 个答案:

答案 0 :(得分:0)

您可以使用以下命令找到Stack:

vmmap [PID] | grep '[S|s]tack'

堆实际上是由MALLOC行(MALLOC metadataMALLOC guard page等)link

表示的