Я работаю над OS X 10.11, и сгенерированный файл дампа следующим образом:CoreDump размер отличается от пространства виртуальной памяти процесса
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
Благодарим за тщательный отклик, но какие-либо дополнительные данные, представленные битами 0-8, добавляют память, которая не учитывается в виртуальной карте памяти процесса, полученной в поле 'VmSize' в'/proc/self/status'? – Zohar81