» پردازنده (CPU) » اختصاص دادن سی پی یو به یک برنامه خاص
پردازنده (CPU)

اختصاص دادن سی پی یو به یک برنامه خاص

1400-10-15 7,121

اختصاص دادن سی پی یو به یک برنامه خاص در ویندوز چندین گزینه دارد که می توانید برای عملکرد بهتر از آنها استفاده کنید. اولویت CPU سیستم عامل و ویژگی های میل پردازنده Processor Affinity از نوآورانه ترین آنهاست. اگرچه این یک روش جادویی برای افزایش عملکرد فوری نیست، اما اگر اجزای سیستم شما قدیمی باشد اختصاص دادن سی پی یو به یک برنامه تفاوت چشمگیری ایجاد می کند.

با توجه به حساسیت فرآیندها، فقط در صورت آشنایی با مواد فنی، باید نزدیکی پردازنده Processor Affinity و اولویت CPU را تنظیم کنید. با این حال، اگر می‌خواهید سیستم خود را برای بهترین بودن تنظیم کنید، با ما همراه باشید تا نحوه اختصاص دادن سی پی یو به یک برنامه از طریق تنظیم میل پردازنده و اولویت CPU را در ویندوز بررسی کنیم.

همگرایی پردازنده (processor convergence) در ویندوز ؟

هر سیستم عاملی یک الگوریتم برنامه نویسی اساسی دارد. الگوریتم زمانبندی وظیفه توزیع منابع کامپیوتری در فرآیندها یا موضوعات مختلف را بر عهده دارد. در ویندوز صدها تکنیک می توانند همزمان اجرا شوند.

CPU  نمی تواند همه این فرآیندها را یکجا پردازش کند، بنابراین الگوریتم زمانبندی این فرآیندها را مدیریت می کند و زمان CPU را بر اساس عوامل مختلف تخصیص می دهد.

به این ترتیب، Processor Affinity  را می توان به عنوان یک کاربر در نظر گرفت که با زمانبندی تداخل می کند. به طور معمول، الگوریتم زمان‌بندی ویندوز تعیین می‌کند که کدام فرآیند بر روی کدام هسته‌های CPU اجرا شود. اگر Processor Affinity را به صورت دستی تنظیم کنید، می توانید یک فرآیند یا رشته را مجبور کنید تا روی هر هسته ای که دوست دارید اجرا شود.

به زبان ساده، این مزیتی را به شما می دهد که Processor Affinity یک یا چند هسته CPU را به هر فرآیند یا رشته ای که انتخاب می کنید اختصاص دهید. فقط پردازش ها یا رشته هایی که وابستگی برای آن‌ها مشخص شده است روی هسته های انتخاب شده اجرا می شوند. یکی از راه های افزایش سی پی یو، توربوست کردن سی پی یو است که در موارد خاص، توصیه می‌شود.

با این حال، این هسته ها را فقط برای این فرآیندها منحصر به فرد نمی کند. ویندوز همچنان می تواند فرآیندهای مختلفی را به این هسته ها اختصاص دهد. تنظیم میل پردازنده فقط بر فرآیندهای انتخابی تأثیر می گذارد و باعث می شود که آنها فقط روی هسته های تعیین شده اجرا شوند.

اولویت CPU در ویندوز چیست؟

همانطور که در بالا توضیح دادیم، در ویندوز در هر زمان ممکن است صدها فرآیند یا رشته در حال رقابت برای زمان CPU وجود داشته باشد. برای اطمینان از اینکه فرآیندها و رشته‌های ضروری به منابع CPU دسترسی دارند، برنامه‌ریزی ویندوز هر فرآیند و رشته در حال اجرا در سیستم عامل را اولویت‌بندی می‌کنید.

به عنوان مثال، الگوریتم زمان‌بندی ویندوز اولویت بالایی به فرآیندهای حیاتی ویندوز مانند System و  Windows Explorer می‌دهد. اگر این فرآیندها در یک صف باشند، می توانند قبل از پردازش های با اولویت کمتر، به CPU برسند.

بنابراین، با تنظیم دستی اولویت CPU یک فرآیند به فرآیندی با اولویت بیشتر، زمان‌بندی ویندوز اطمینان حاصل می‌کند که فرآیند دسترسی اولویتی به منابع CPU دارد.

در نهایت، الویت CPU کاملاً با « Processor Affinity » متفاوت است. هنگامی که تنظیمات اولویت CPU یک فرآیند به زمان‌بندی می‌گوید که چگونه آن فرآیند را مدیریت کند، تنظیم میل پردازنده فرآیند را برای هسته یا هسته‌های CPU خاص مسدود می‌کند. با یک گروه وابستگی پردازنده، حتی اگر یک فرآیند دارای اولویت بالا یا پایین باشد، روی هسته یا هسته‌های خاصی اجرا می‌شود.

مزایا اختصاص دادن سی پی یو به یک برنامه خاص

یکی از بزرگترین مشکلاتی که محاسبات مدرن با آن مواجه است، تعداد زیاد برنامه های تک رشته ای است. حتی در سال 2021 که اکثر پردازنده‌ها چهار هسته‌ای یا بالاتر هستند، برخی از برنامه‌ها تنها از یکی از هسته‌های موجود استفاده می‌کنند.

این روش مشکلی را برای زمان‌بندی سیستم‌عامل‌های مدرن ایجاد می‌کند، اینکه چگونه فرآیندهای تک رشته‌ای را در پردازنده‌های چند رشته‌ای بدون شکستن سازگاری زمان‌بندی می‌کنید؟

اغلب اوقات، برنامه نویسان امروزه به طور موثر فرآیندهای تک رشته ای را در CPU های مدرن برنامه ریزی می کنند. اما مواقعی وجود دارد که یک برنامه قدیمی به دلیل سازگاری ناکافی از کار می افتد. اینجاست که تنظیم میل پردازنده Processor Affinity و اختصاص دادن سی پی یو به یک برنامه می تواند کمک کند.

میل پردازنده، عملیات را به اجرا بر روی هسته های خاص CPU محدود می کند. شما می توانید با تنظیم میل پردازنده برای برنامه های قدیمی تک رشته ای، این فرآیندها را به یک هسته CPU محدود کنید.

علاوه بر این، افرادی که سخت‌افزار ضعیف‌تری دارند نیز می‌توانند از تعیین اولویت بالا برای وظایف ضروری خود بهره ببرند. برای مثال، اگر یک ویرایشگر ویدیو هستید، می‌توانید برنامه رندر خود را قبل از شروع رندر کردن ویدیو با اولویت بالا انتخاب کنید. به این ترتیب، وقتی می‌خواهید ویدیویی را تماشا کنید، ویندوز می‌داند که باید بیشترین تمرکز خود را صرف غلبه بر آن کند.

اختصاص دادن سی پی یو به یک برنامه خاص : نحوه تنظیم Affinity پردازنده و اولویت CPU

برای تنظیم وابستگی پردازنده و اولویت CPU، باید مدیر وظیفه task manager را باز کنید و از آنجا ادامه دهید.

بنابراین Task Manager را با کلیک راست بر روی نوار وظیفه ویندوز و انتخاب Task Manager باز کنید. سپس به فرآیندی بروید که می خواهید وابستگی Affinity را برای آن تنظیم کنید.

سپس روی این فرآیند کلیک راست کرده و گزینه Go to Details را انتخاب کنید.

اختصاص دادن سی پی یو به یک برنامه خاص

فرآیندی process که انتخاب می‌کنید در پنل جدیدی که ظاهر می‌شود برجسته می‌شود. روی فرآیند مشخص شده کلیک راست کرده و Set Affinity را انتخاب کنید. اکنون پنل Processor Affinity ظاهر می شود.

اختصاص دادن سی پی یو به یک برنامه خاص

در پنل Processor Affinity، تیک هسته‌های CPU را که نمی‌خواهید عملیات روی آن‌ها اجرا شود، بردارید. پس از آن روی OK کلیک کنید. اکنون میل پردازنده تنظیم می شود و فرآیند انتخاب شده فقط روی هسته های CPU مشخص شده اجرا می شود.

برای تنظیم اولویت CPU، روی هر فرآیندی در Task Manager کلیک راست کرده و Go to details را انتخاب کنید.

سپس روی فرآیند مشخص شده کلیک راست کرده و روی Set Priority کلیک کنید.

حالا از منوی پاپ آپ گزینه Priority را انتخاب کنید. اگر می خواهید فرآیند خود را به محض اینکه به آن نیاز دارید اجرا کنید، real-time را انتخاب کنید.

گزینه های دیگر این لیست عبارتند از Above Normal، Normal، Below Normal و Low که نیازی به توضیح بیشتر ندارد.

معایب اختصاص دادن سی پی یو به یک برنامه

انتخاب Realtime منجر به قرار گرفتن سایر فرآیندهای سیستمی احتمالاً حیاتی در صف انتظار می شود. این می‌تواند منجر به کندی کلی سیستم در خفیف‌ترین و در بدترین حالت خرابی کامل سیستم شود، بنابراین هنگام تنظیم هر فرآیند بر روی اولویت زمان واقعی Realtime مراقب باشید.

از طرف دیگر، تا زمانی که فرآیندهای زیادی را در اولویت بالا high Priority قرار ندهید، انتخاب اولویت بالا امن تر است.

اگر نمی دانید چه کاری انجام می دهید و اطلاعات کافی ندارید، میل پردازنده و اولویت CPU را محدود نکنید و از اختصاص دادن سی پی یو به یک برنامه خودداری کنید.

فقط در صورتی باید میل پردازنده و اولویت CPU را تنظیم کنید که بدانید در حال انجام چه کاری هستید. اگرچه در برخی موارد قابل توجه است، اما افزایش عملکرد مشکلاتی را که ممکن است در صورت بروز مشکل با آنها روبرو شوید را جبران نمی کند. از کاهش سرعت تا خرابی های تصادفی سیستم، تنظیم وابستگی و اولویت باید آخرین انتخاب شما باشد.

توصیه نمی‌شود که فرآیندها را برای داشتن یک سطح اولویت Realtime تنظیم کنید، زیرا می‌تواند عملکرد سیستم شما را کاهش دهد، چرا که باعث می‌شود سایر فرآیندهای با اولویت پایین‌تر منابع مورد نیاز خود را نداشته باشند.

توجه داشته باشید که شاید سی پی یو شما به شکل کلی توان عملکردهای سنگین را نداشته باشد. در این صورت ممکن است لازم باشد ارتقا سی پی یو و یا کار های دیگری نظیر اورکلاک کردن CPU را انجام دهید.

سخن پایانی

امیدواریم که در آموزش اختصاص دادن سی پی یو به یک برنامه به تمامی سوالات شما کاربران عزیز پاسخ داده باشیم. توصیه میکنیم نکاتی که در رابطه با این کار ذکر کردیم را رعایت کرده و صرفا در موقع ضروری اقدام به اختصاص سی پی یو به یک برنامه کنید چرا که ممکن است در طولانی مدت به سیستم شما آسیب وارد کند.

سوالات متداول

تعداد دیدگاهها: 1

  1. سجاد فتاحی

    لطف کردید . توضیحات خوب همراه با عکس و بدون توضیح اضافه .
    ممنونم
    زنده باشید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  • ×