با سلام در این مقاله قصد دارم تا به بررسی VMware CPU Affinity بپردازم و کاربردش را مورد بررسی قرار دهیم.
VMware CPU Affinity چیست؟
شما از طریق این امکان میتوانید دسترسی ماشین مجازی خودتان را به یک سری از processors در سیستم های multiprocessor محدود کنید. تنظیماتی که شما در CPU Affinity انجام میدهید بر روی تمام Virtual CPU های یک ماشین مجازی و همچنین مواردی دیگر مانند شبیه سازی موس، کیبورد، صفحه نمایش و CD ROM تاثیر خواهد گذاشت.
نکته : اگر شما در تنظیمات ماشین مجازی دو عدد Socket را تایین کردید باید به ازای هر Socket یک Affinity Rule قرار دهید.
نکته : حتما باید Hyperthyroid بر روی سرور شما فعال شده باشد.
در سناریو زیر من یک سرور فیزیکی دارم که 2 عدد Socket داره که هر کدام 8 Core هستند، اما در کل من 32 Core پروسسور دارم بخاطر این Hyperthreading بر روی سرور من پشتیبانی میشود. همچنین یک ماشین مجازی دارم که دو عدد Socket که هر کدام دو Core CPU دارد. همانطور که گفتم چون دو عدد Socket بر روی ماشین مجازی است پس باید دو تا CPU Affinity تنظیم کنم.
فعال کردن CPU Affinity بر روی ماشین مجازی
برای فعال کردن CPU Affinity کافی است که وارد تنظمیات ماشین مجازی خودتان شوید، و در بخش CPU یک تنظیمی بوده با نام Scheduling Affinity که شما میتوانید physical CPU های مد نظرتان را وارد کنید.
نحوه مشخص کردن به این شکل بوده که شما با - Socket ها رو جدامیکنید و با , Core های هر Socket را مشخص میکند.
مثلا در مثال زیر سرور فیزیکی من کلا دو تا Socket داره که هر کدام 16 Core دارند، همچنین ماشین مجازی من دو عدد Socket دارد که هر کدام دو Core دارند. پس انتخاب اول من باید از Core های 0-15 میشه برای Socket یک سرور فیزیکی و از 16-31 میشه برای Socket دوم سرور فیزیکی، پس ما دو تا Core مربوط به Socket اول برای ماشین مجازی را بین اعداد 0-15 و برای دومی از اعداد 16-31 انتخاب خواهیم کرد.
نکته مهم : در محیط عملیاتی از این ویژگی استفاده نکنید بدلیل اینکه در محاصبه منابع و همچنین Allocation مربوط به CPU امکان دارد باعث تداخل شود با روند کاری سرور ESXI شما، پس در حد امکان از این ویژگی استفاده نکنید.
امیدوارم مفید واقع شده باشد.
VMware CPU Affinity چیست؟
شما از طریق این امکان میتوانید دسترسی ماشین مجازی خودتان را به یک سری از processors در سیستم های multiprocessor محدود کنید. تنظیماتی که شما در CPU Affinity انجام میدهید بر روی تمام Virtual CPU های یک ماشین مجازی و همچنین مواردی دیگر مانند شبیه سازی موس، کیبورد، صفحه نمایش و CD ROM تاثیر خواهد گذاشت.
نکته : اگر شما در تنظیمات ماشین مجازی دو عدد Socket را تایین کردید باید به ازای هر Socket یک Affinity Rule قرار دهید.
نکته : حتما باید Hyperthyroid بر روی سرور شما فعال شده باشد.
در سناریو زیر من یک سرور فیزیکی دارم که 2 عدد Socket داره که هر کدام 8 Core هستند، اما در کل من 32 Core پروسسور دارم بخاطر این Hyperthreading بر روی سرور من پشتیبانی میشود. همچنین یک ماشین مجازی دارم که دو عدد Socket که هر کدام دو Core CPU دارد. همانطور که گفتم چون دو عدد Socket بر روی ماشین مجازی است پس باید دو تا CPU Affinity تنظیم کنم.
فعال کردن CPU Affinity بر روی ماشین مجازی
برای فعال کردن CPU Affinity کافی است که وارد تنظمیات ماشین مجازی خودتان شوید، و در بخش CPU یک تنظیمی بوده با نام Scheduling Affinity که شما میتوانید physical CPU های مد نظرتان را وارد کنید.
نحوه مشخص کردن به این شکل بوده که شما با - Socket ها رو جدامیکنید و با , Core های هر Socket را مشخص میکند.
مثلا در مثال زیر سرور فیزیکی من کلا دو تا Socket داره که هر کدام 16 Core دارند، همچنین ماشین مجازی من دو عدد Socket دارد که هر کدام دو Core دارند. پس انتخاب اول من باید از Core های 0-15 میشه برای Socket یک سرور فیزیکی و از 16-31 میشه برای Socket دوم سرور فیزیکی، پس ما دو تا Core مربوط به Socket اول برای ماشین مجازی را بین اعداد 0-15 و برای دومی از اعداد 16-31 انتخاب خواهیم کرد.
نکته مهم : در محیط عملیاتی از این ویژگی استفاده نکنید بدلیل اینکه در محاصبه منابع و همچنین Allocation مربوط به CPU امکان دارد باعث تداخل شود با روند کاری سرور ESXI شما، پس در حد امکان از این ویژگی استفاده نکنید.
امیدوارم مفید واقع شده باشد.