On Mon, 12 Sep 2011 17:08:49 +0400 Anton Yuzhaninov wrote:

 AY> Подскажите, можно ли что нибудь почитать про использование superpages
 AY> во FreeBSD кроме исходников?

http://www.usenix.org/event/osdi02/tech/navarro.html

Или послушать :-)

http://www.bsdcan.org/2011/schedule/events/219.en.html
http://www.youtube.com/watch?v=0wIxny-n_Mg

 AY> На писал простую тестовую программу, которая делает malloc буфера 500
 AY> Мб, затем несколько раз в цикле memset/sleep

 AY> Запускал её на нескольких серверах.
 AY> Везде amd64 и 8-ка разной степени свежести.
 AY> vm.pmap.pg_ps_enabled=1 (по умолчанию)

 AY> hw.pagesizes: 4096 2097152 0

 AY> На некоторых запуск теста вызывает увеличение
 AY> vm.pmap.pde.promotions на 250
 AY> (т. е. все 500 Мб буфера преобразуются в 2 Мб страницы).

 AY> На остальных vm.pmap.pde.promotions никак не изменяется (demotions
 AY> тоже). Более того если там смотреть vm.pmap.pde.promotions, то он за
 AY> несколько часов никак не меняется, хотя показывает не нулевое
 AY> значение.

А другие vm.pmap.pde счетчики что показывают? И сколько памяти на серверах и
какой аптайм? Если сравнить vm.phys_free?

 AY> вопросы:
 AY> 1. Почему может не происходить promotions в superpage, как FreeBSD
 AY> решает когда его производить, кода нет?

Подозреваю что из-за фрагментации памяти. У себя наблюдаю что счетчики активно
растут после перегрузки (vm.phys_free тогда показывает много блоков большого
размера).

 AY> 2. Как можно наблюдать за процессом, кроме как через sysctl 
vm.pmap.pde.promotions?

http://freebsd.1045724.n5.nabble.com/large-pages-amd64-td4052431.html

вот здесь немного и по самой теме и патчик имеется, чтоб procstat показывал
superpages. Но наверное без напильника не поставится на свежую фрю.

-- 
Mikolaj Golub

Ответить