عدم استفاده یک برنامه از cpu در لینوکس

سلام
یه برنامه هست برای اکانتینگ اینترنت دانشگاه که با C نوشته شده
مشکل اینجاست که این برنامه از منابع استفاده نمیکنه
در حال حاظر بیشتر از 1000 نفر نمیتونن وصل شن در صورتی که load average سی پی یو روی 0.47 هست
و یه cpu هشت هسته ای داره این سرور
ورژن برنامه رو که چک کردم با چنین چیزی مواجه شدم:

Version 2.2.6, for host i386-redhat-linux-gnu, built on jul 18 2017

الآن برداشت من اینه که به جای این که لینوکس نسخه amd64 نصب شده باشه با یه لینوکس 32 بیتی روی یه سیستم خیلی قوی طرف هستیم
درسته؟؟ میتونم نتیجه گری کنم مشکل از همینه و با تغییر سیستم عامل به مثلا centOS نسخه 64 بیتی مشکل حل میشه؟؟

خب شما دوست دارید فشار بیاره به سخت‌افزار؟
درک نمیکنم قضیه رو.

1 پسندیده

سلام

بحث سر اینه که بیشتر از ۱۰۰۰ نفر نمیتونن وصل شن
در حالی که منابع سیستم آزاده
به جای این که از ۱۰ درصد سی پی یو استفاده کنه و ۱۰۰۰ نفر بتونن وصل شن من ترجیح میدم ۹۰ درصد سی پی یو درگیر بشه و ۱۰٬۰۰۰ نفر کانکت بشن

1 پسندیده

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

2 پسندیده

با سلام
همین طور که @lxsameer هم گفتن با ید به صورت Multi-Thread نوشته بشه که چندین راه هست براش با ++C :

  • به صورت Multi-Thread نوشته بشه
  • می تونین از tbb استفاده کنین که بتونین تعداد کور های بیشتر رو درگیر کنین
  • میتونین به صورت موازی هم اگه کار پردازشی هست رو انجام بدن با استفاده از openmp

شما مشکل را بگین تا بشه راه حل مناسب رو مطرح کرد.

2 پسندیده

سلام
از این برنامه داره استفاده میشه
https://freeradius.org
البته نسخه قدیمی ترش یعنی 2.2.6
لینوکسی که این برنامه روش نصبه 32 بیتی هست و من حدث میزنم مشکل از همینه
چون مثلا سرور ۸ گیگ رم داره ولی نسخه i386 لینوکس centOS فقط از ۳.۸ گیگ رم میتونه استفاده کنه

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

در مورد i386 هم که حتما ۶۴ بیتی استفاده کنین اما ایراد قبل از اونه