number of core per socket غیر فعال بودن در وضعیت ماشین مجازی روشن
سلام
من یه سوال دارم
وقتی ماشین مجازی روشن هست و hot plug cpu هم در وضعیت enable قرار داره
socket تعداد رو میشه تغییر داد ولی core رو اجازه نمیده.
میخواستم دلیلش رو بدونم
البته فکر میکنم دلیلش در این مقاله نهفته باشه.. این مقاله رو خوندم خودش آخر مقاله هم اشاره ای کرده به این موضوع ولی من باز دلیل اصلیش رو نفهمیدم...
آیا به NUMA مربوط میشه؟
دوستانی که زبان انگلیسیشون خیلی بهتر از من هست یا خیلی حرفه ای هستن در این مبحث میتونن کمکی بکنن؟ چون من اون قسمت numa رو اصلا نفهمیدم شاید به اون قسمت ربط داشته باشه.
چون بعدش میگه که :
Why differentiate between sockets and cores?
Well there is a difference and it has to do with the Hot-Add CPU feature. When enabling the option CPU Hot Plug you can only increase the virtual socket count.
مقاله :
http://frankdenneman.nl20130918vcpu-configuration-performance-impact-between-virtual-sockets-and-virtual-cores/
8 پاسخ
شما در مثالی که زدید از یک مفهوم کلی تعداد cpu استفاده کردید.
در حالی که اینجا دو مفهوم و دو اپشن داریم! virtual socket و virtual core per socket
و فقط دومی gray out هست.
خب باز هم نفرمودید دلیلش چیه! فقط میفرمایین نمیشه! خب چرا نمیشه؟من دلیلش رو میخوام
وقتی سوکت رو زیاد کنیم در نهایت core ما زیاد میشه خب از همون اول بذاره core رو زیاد کنیم با همون سوکت قبلی! چرا نمیذاره؟ چه فرقی داره! تا جایی که میدونم اینکه من ۲ سوکت داشته باشم با ۲ هسته بعد چه بیام سوکت رو زیاد کنم بکنم ۴ سوکت با ۲ هسته میشه ۸ و چه بیام هسته رو زیاد کنم بکنم ۴ بدون دست زدن به سوکت بازم میشه ۸ و هیچ فرقی در نهایت نداره به لحاظ عملکرد و فقط بحث لایسنسینگ هست این وسط....
پس وقتی در عمل فرقی نداره چرا نمیذاره هسته رو دست بزنیم در حالت روشن؟
اگه دلیل فنی داره بفرمایید چون من اصلا متوجه نمیشم که چرا نمیذاره در حالت روشن هسته رو زیاد کنم.
*شما در مثالی که زدید از یک مفهوم کلی تعداد cpu استفاده کردید.
در حالی که اینجا دو مفهوم و دو اپشن داریم! virtual socket و virtual core per socket
و فقط دومی gray out هست*.
بله ، من هنوز هم پای حرفی که زدم هستم. این مثال دقیقا مصداق موضوع هست. ببینید منطق اینه که شما تا زمانی که ماشین مجازی رو خاموس نکردید نمیتونید تعداد Core یا هسته های اون ماشین مجازی رو افزایش بدید. ولی تعداد Socket ها رو میتونید ، به این دلیل که سیستم عامل ماشین مجازی شما به شما این امکان رو میده که وقتی ماشین مجازی در حالت Running هست تعداد Socket هاش رو افزایش بدید. مثلا شما یدونه سوکت دادین به ماشین مجازی با ۴ تا Core در نتیجه شما 4 تا vCPU دارین ، حالا اگه زمانی که ماشین مجازی روشن هست تعداد سوکت ها رو بکنید ۲ تا در واقع ۸ تا Core انگار دادین به ماشین مجازی. ولی اینکه در زمان روشن بودن ماشین مجازی تعداد Core ها رو زیاد کنید امکانش وجود نداره. افزایش دادن تعداد سوکت تاثیری در کارایی یا Performance ماشین مجازی شما نداره یعنی این CPU Scheduler هست که با استفاده از NUMA در آخر تصمیم میگیره از کدوم هسته CPU فیزیکی استفاده کنه.
سلام
من منظورتون رو خوب متوجه نشدم
ببینید درست میگم ؟ شما میخواهید وقتی که قابلیت ماشین مجازی در سرور فعال هست و CPU Hot plug هم فعال هست میخواین تعداد سوکت رو تغییر بدین و cpu رو خارج کنید اما به شما میگه که نمیتونید تعداد coreرو تغییر بدین؟
دوست عزیز من متخصص مجازی سازی نیستم ، فکر می کنم بهتره این سئوال رو از متخصصان حوزه مجازی بپرسید. البته فکر نمی کنم جواب قانع کننده ای هم از اونا بگیرید. به هر حال شما رو به لینک زیر ارجاع میدم تا از وب سایت VMware دلیل این مورد رو بپرسید. موفق باشید
https://communities.vmware.com
به زبان ساده اگه بخوام همونطور که شما نمیتونید موتور یه اتومیبل رو که در حال حرکت هست رو عوض کنید ، از این رو شما نمیتونید تعداد CPU یا پردازنده های یک کامپیوتر رو زمانیکه روشن و در حالت عملیاتی هست رو هم کم یا زیاد کنید.
چون از لینک استفاده نکرده بودین لینک شما رو نتونستم باز کنم اما بعد از سرچ پیداش کردم و متوجه منظورتون شدم
تا جایی که توی متن نوشته که منظورش این بوده که استفاده از vcpu یا هسته های مجازی در عملکرد سیستم فرقی ایجاد نمیکنه و این موضوع برای این گذاشته شده که در بعضی از سیستم عاملها شما در تعداد cpu مشکل دارین و تعداد محدودی رو cpu رو به شما اجازه میده که فعال کنید اما در مورد تعداد هسته مشکلی نیست و شما میتونید تعداد هسته رو افزایش بدین
مثلا ممکنه سیستم عاملی فقط از یک سوکت پشتیبانی کنه و شما برای کارایی بیشتر میتونید بهش یک سوکت بدین اما مثلا 20 تا هسته به اون سوکت بدین ....
من با تمام جرئت حرفم رو پس میگیرم! شما میتونید تعداد Core های CPU و همچنین میزان RAM رو در زمان روشن بودن ماشین های مجازی هم افزایش بدید. البته لازم به ذکر هست که این ها به سیستم عامل شما بستگی داره و لایسنس مناسبی که روی ESXi نصب کردید و همچنین فعال بودن قابلیت CPU Hot plug. لینک های زیر رو ببینید.