خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


بررسی Memory Compression در vmware

بررسی Memory Compression در vmware
ESXi یک memory compression cache را به منظور بهبود performance ماشین مجازی در زمانی که از memory overcommitment استفاده می کنید، فراهم می کند. اگر میزان استفاده از مموری ماشین مجازی به سطحی برسد که نیاز به Swap در سطح هاست باشد، ESXi از تکنیک memory compression برای کاهش تعداد memory page ها که نیاز به Swap دارد استفاده می کند. از آنجایی که تأخیر decompression بسیار کمتر از تأخیر swap-in دیسک است، فشرده سازی page های حافظه تأثیر بسیار کمتری بر Performance نسبت به Swap آن page ها دارد.

سیستم یکپارچۀ سازمانی راهکار
اجازه دهید که ببینیم، چگونه فشرده‌سازی به بهبود Performance ماشین‌های مجازی که روی هاست over-committed شده کار می‌کنند، کمک می‌کند.



Memory Compression چگونه کار می کند؟

Memory Compression بصورت پیشفرض فعال است. در صورت تمایل می‌توانید آن را از تنظیمات پیکربندی پیشرفته (mem.memzipenable) غیرفعال کنید، همچنین می‌توانید حداکثر اندازه را برای compression cache با استفاده از تنظیمات پیشرفته تنظیم کنید.
ما دو نوع page در حافظه داریم که در نشان داده شده اند که فشرده شده اند.

Large Pages (2MB)

Small Pages (4KB)

نکته اول: ESXi مستقیماً page های بزرگ 2 مگابایتی را فشرده نمی کند، بلکه page های بزرگ 2 مگابایتی ابتدا به page های 4 کیلوبایتی بریده می شوند و بعداً به page های 2 مگابایتی فشرده می شوند.

نکته دوم: اگر نسبت فشرده سازی page ها بزرگتر از 75٪ باشد، ESXi، page های فشرده شده را در فضایی معادل یک چهارم page یک کیلوبایتی ذخیره می کند.

چند شرط برای page هایی که برای فشرده سازی در نظر گرفته می شوند وجود دارد. اگر page های حافظه دارای شرایط زیر باشند، فقط memory page ها فشرده می شوند.

Memory page ها که در هر صورت برای swap روی دیسک فقط آن page ها علامت گذاری شده اند.

Memory page هایی که حداقل 50 درصد می توانند فشرده شوند.


هر page ای که شرایط بالا را نداشته باشد، به روی دیسک swap خواهد شد.
اجازه دهید با مثال به طرز کار compression پی ببریم.

بررسی Memory Compression در vmware

بیایید فرض کنیم که ESXi باید 8 کیلوبایت حافظه فیزیکی (دو صفحه 4 کیلوبایتی) را از ماشین‌های مجازی reclaim یا بازپس گیری کند. اگر host swap را در نظر بگیریم، دو page کاندیدای swap، صفحه A و B، مستقیماً به دیسک swap می‌شوند (تصویر a) (page کاندیدای swap، در واقع page هایی هستند که دو شرط بالا را دارند).

با فشرده سازی، یک page کاندید swap فشرده شده و در فضای 2 کیلوبایتی در کش فشرده سازی هر VM ذخیره می شود. از این رو، هر page فشرده شده، فضای حافظه 2 کیلوبایتی را برای ESXi ایجاد می کند تا آن فضا بازپس گیری یا reclaim شود. برای reclaim کردن حافظه فیزیکی 8 کیلوبایتی، چهار page کاندید swap باید فشرده شوند (تصویر B).

اگر درخواست های حافظه برای دسترسی به یک page فشرده داشته باشیم، page از حالت فشرده خارج شده و به guest memory بازگردانده می شود. سپس page از compression cache حذف می شود.

Per-VM Compression Cache چیست؟

مموری برای compression cache به صورت جداگانه به عنوان یک حافظه overhead اضافی تخصیص داده نمی شود. اندازه compression cache زمانی که حافظه هاست کم باشد با صفر شروع می شود و زمانی که حافظه VM شروع به swap می کند افزایش می یابد.
اگر compression cache پر باشد، یک page فشرده باید جایگزین شود تا جایی برای یک page فشرده جدید ایجاد شود. page ای که برای طولانی مدت به آن دسترسی نداشته‌اید، از حالت فشرده خارج شده و swap می شود. ESXi صفحات compress شده را swap نمی کند.
اگر page های متعلق به compression cache باید تحت فشار شدید حافظه swap شوند، اندازه compression cache کاهش می یابد و page های فشرده شده، decompress و swap می شوند.
حداکثر سایز compression cache برای حفظ performance خوب VM مهم است. از آنجایی که compression cache با استفاده از vm guest memory محاسبه می شود، یک large compression cache ممکن است حافظه VM را هدر دهد و به طور غیر ضروری فشار به حافظه هاست وارد کند. در vSphere 5.0، حداکثر سایز compression cache پیش‌فرض به صورت conservative روی 10 درصد از اندازه مموری VM تنظیم شده است. این مقدار را می توان از طریق تنظیمات Advanced و با تغییر مقدار Mem.MemZipMaxPct ویرایش کرد.


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز