Янв
31
2011

Transparent Page Sharing (TPS) и Large Pages.

Если вы читали статью “Важная информация от Microsoft - техники Dynamic Memory в Hyper-V и есть ли будущее Transparent Page Sharing в VMware vSphere 4?“, то знаете, что с большими страницами памяти, которые теперь в современных Windows-системах составляют 2 МБ (вместо 4 КБ, например, в Windows 2003) возникают проблемы.

Найти дубликаты среди таких страниц очень маловероятно. Да и их хэширование занимает значительное время и ресурсы. Поэтому при нормальных условиях и включенных Large Memory Pages механизм Transparent Page Sharing (TPS) не работает.

Но вот когда на хосте VMware ESX возникает нехватка ресурсов, то гипервизор разбивает эти двухмегабайтные страницы на блоки в 4 КБ и включает TPS. Здорово, да?

А есть еще и вот такой счетчик в esxtop как COWH (Copy on Write Pages hints), который подсказывает нам, какое количество МБ из страниц памяти может быть потенциально расшарено с помощью TPS:

Вот вам несколько ссылочек от Gabrie van Zanten:

Frank Denneman: RE: IMPACT OF LARGE PAGES ON CONSOLIDATION RATIOS
Duncan Epping: Re: Large Pages (@gabvirtualworld @frankdenneman @forbesguthrie)

Good discussion on VMware communities http://communities.vmware.com/thread/211585?start=15&tstart=0
Large Page Performance white paper http://www.vmware.com/files/pdf/large_pg_performance.pdf
How cool is TPS? http://www.yellow-bricks.com/2011/01/10/how-cool-is-tps/
How many pages can be shared if Large Pages are broken up? http://www.yellow-bricks.com/2010/11/07/how-many-pages-can-be-shared-if-large-pages-are-broken-up/
KB Article 1020524 (TPS and Nehalem) http://www.yellow-bricks.com/2010/05/27/kb-article-1020524-tps-and-nehalem/