دوستان زیادی ازم در مورد تفاوت Host Memory و Guest Memory در vmware سؤال میکنن. اکثرشون عنوان میکنن که بین عبارتهای نمایش داده شده یه مقدار گیج شدن. امروز همین اول صبح تصمیم گرفتم در مورد این مسأله مطلبی براتون بنویسم.
برای فهم بهتر موضوع من عکسی از قسمت Resource Allocation یکی از ماشین مجازی خودم براتون میزارم. و توضیحات رو روی تصویر ارایه ميکنم.
همونطور که در تصویر مشخصه قسمت Memory یا حافطه از دو بخش Host Memory و Guest Memory تشکیل شده.
- نوار Host Memory کل مقدار حافظه اختصاص یافته به Guest (ماشین مجازی) توسط Host (میزبان ESXi) رو نشون میده.
- اما Guest Memory مقداریه که Host به عنوان حافظه فعال روی Guest میبینه. ضمنا توجه داشته باشید که ممکنه با مقداری که داخل OS (سیستم عامل) نمایش داده میشه متفاوت باشه.
در واقع با توجه به تصویر بالا به این Guest مقدار 4GB حافظه اختصاص داده شده و در حال حاضر داره از 573MB اون استفاده میکنه.
نکته: همیشه به VMهاتون دقیقا به اندازهای که احتیاج دارن حافظه (Memory) بدید.
بروزرسانی ۱: برای اطلاعات بیشتر میتونید به مستندات موجود در سایت vmware در مورد مدیریت منابع از اینجا مراجعه کنید.
بروزرسانی ۲ (۱۳۹۵/۱۰/۱۲): در پاسخ به دوستمون که عنوان کردن مقدار Host Memory همیشه با مقداری که به عنوان حافظه به VM اختصاص دادیم برابره. باید بگم که خیر الزاماً مقدار Host Memory با مقداری Memory که در تنظیمات سخت افزاری VM به اون اختصاص دادیم برابر نیست.
بزارید بیشتر توضیح بدم. اگر Host ESXi شما منابع به اندازه کافی داشته باشه، مقدار Host Memory دقیقا برابر مقدار Memory هستش که شما به ماشین مجازی اختصاص دادید. اما اگر ESXi شما به اندازه کافی منابع نداشته باشه یا سادهتر بگم RAM کم بیاره، ماشینهای مجازی براساس الگوریتمی که شامل موارد مختلفی از جمله مقدار نیاز فعلیشون و وضعیت Share Allocation و … هستش وارد یک چرخه رقابت بر سر منابع میشن و اونجاست که مقدار Host Memory دچار تغییر میشه و ESXi مقدار حافظه کمتری رو در اختیار اون ماشین مجازی قرار میده.
برای مفهومتر شدن قضیه من همون ماشین مجازی بالا رو دوباره در شرایطی که ESXi منابع به اندازه کافی نداشته براتون بررسی کردم.
خب اگر به تصویر بالا که وضعیت منابع همان ماشین مجازی رو در شرایطی نشون میده که ESXi منابع کافی نداشته، دقت کنید، میبینید که مقدار Host Memory به 2.79GB کاهش یافته و اون نشانگر زرد رنگ هم نشون میده که اگر وضعیت منابع بدتر بشه ESXi فقط میتونه مقدار 1.30GB از Memory رو ضمانت کنه.
قسمت هاست مموری که همیشه ثابت و معادل مقداری است که خودمون که برای ماشین مجازی تعریف کردیم پس چرا به صورت نموداری نمایش داده میشه؟
متشکرم
مختصر و مفید