LINUX.ORG.RU

ELF64 segment alignment


0

1

Я заметил, что 64-битные программы и библиотеки мапят как минимум по 2 мегабайта виртуальной памяти, даже если их размер намного скромнее. Из-за этого многие простейшие процессы «виртуально разрастаются» до сотен мегабайт.

Выяснилось, что дело в величине p_align в заголовке сегмента ELF-файлов. Для сегметов типа LOAD это 0x1000 при 32 битах и 0x200000 при 64 битах.

Google не помог мне понять: зачем выбрана такая величина?!

Deleted

Виртуально пусть хоть на стопицот гигов разрастаются, разве сее проблема?

kiverattes ★☆
()
Ответ на: комментарий от frey

Загрузчик mmap-ит минимум два мега на файл, и выставляет этому участку "---". Т.е. замаплен, но никак не используется.

Deleted
()

>Google не помог мне понять: зачем выбрана такая величина?!
Есть страницы памяти 2Мб, а не только 4кб. Именно для этой цели.

Chumka ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.