Я изучаю возможность возврата текста и сегмента данных с огромными страницами по следующему руководству в https://github.com/libhugetlbfs/libhugetlbfs/blob/master/HOWTO.Использование огромных страниц для текстовых и информационных сегментов
Я переложил приложение, как это было предложено, добавив «-B/usr/share/libhugetlbfs -Wl, - hugetlbfs-align» и запустив приложение с помощью «hugectl --text --data --heap --bss/путь/к/моя/приложение».
Но я не очень уверен, как проверить, действительно ли данные и текстовые сегменты копируются в файлы файловой системы hugetlbfs.
Проверка/proc/{pid}/maps, можно видеть, что огромные страницы используются для кучи, но не для сегментов текста и данных, поскольку первые два диапазона адресов сопоставляются с приложением, но не с файловой системой огромной страницы ,
Правильно ли я понимаю? На самом деле я подозреваю, что мой вывод о том, что огромные страницы используются для кучи из/proc/{pid}/maps, также неверен.
Как проверить, поддерживаются ли данные и текстовые сегменты в огромных страницах? Я знаю, что данные и текстовые сегменты будут скопированы в файловую систему hugetlbfs в случае успеха, но как проверить ее?
Спасибо!
выход/Proc/{PID}/карты
00400000-00d2c000 r-xp 00000000 fd:02 46153351 /path/to/my/application
00f2b000-00fa3000 rw-p 0092b000 fd:02 46153351 /path/to/my/application
00fa3000-00fbb000 rw-p 00000000 00:00 0
02a0c000-02a2d000 rw-p 00000000 00:00 0 [heap]
40000000-80000000 rw-p 00000000 00:15 2476090 /dev/hugepages-1G/libhugetlbfs.tmp.nS7exn (deleted)
Смотрите также/Proc/$ PID/smaps для подробной информации о каждом отображении, включая анонимные огромные страницы. BSS - это анонимное отображение, подобное куче, и будет использовать прозрачные hugemages для сопоставлений, которые достаточно выровнены. –