我正在使用 OS X 10.11,并以下列方式生成转储文件:
1. ulimit -c unlimited
2. kill -10 5228 (process pid)
并获得具有滚动属性的转储文件:642M Jun 26 15:00 core.5228
在此之前,我使用vmmap
命令检查了进程的总内存空间,以尝试估计预期的转储大小。
但是,估计值 (238.7Mb) 远小于实际大小 (642Mb)。
这个差距可以解释吗?
VIRTUAL REGION
REGION TYPE SIZE COUNT (non-coalesced)
=========== ======= =======
Activity Tracing 2048K 2
Kernel Alloc Once 4K 2
MALLOC guard page 16K 4
MALLOC metadata 180K 6
MALLOC_SMALL 56.0M 4 see MALLOC ZONE table below
MALLOC_SMALL (empty) 8192K 2 see MALLOC ZONE table below
MALLOC_TINY 8192K 3 see MALLOC ZONE table below
STACK GUARD 56.0M 2
Stack 8192K 2
__DATA 1512K 44
__LINKEDIT 90.9M 4
__TEXT 8336K 44
shared memory 12K 4
=========== ======= =======
TOTAL 238.7M 110
VIRTUAL ALLOCATION BYTES REGION
MALLOC ZONE SIZE COUNT ALLOCATED % FULL COUNT
=========== ======= ========= ========= ====== ======
DefaultMallocZone_0x100e42000 72.0M 7096 427K 0% 6