نمایش نتایج 1 تا 5 از 5

نام تاپیک: وقتی چند پروسه از این برنامه با هم اجرا می‌شوند، برنامه هنگ میکند؟ چرا؟

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار Esikhoob
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    Tehran
    پست
    277

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

    سلام دوستان
    من یک برنامه Windows دارم که بخشی از آن به زبان C#‎‎‎‎‎‎‎‎ MS .NET Framework نوشتم ولی هسته اصلی آن که کار را انجام میدهد توسط شخص دیگری به زبان Win32 نوشته شده است.
    مشکلی که در اجرای آن می‌بینم مربوط به سرعت آن میشود. به خاطر نیاز ما لازم است چند تا از این برنامه در سیستم عامل مان در کنار هم اجرا شوند. البته من هر کدام را با یک حساب کاربر Windows Account اختصاصی اجرا کرده ام (با TaskScheduler می‌توان این کار را کرد).
    وقتی درخواستی به یکی از آن برنامه محول میشود، در کامپیوتر خودم (Win10) که برای برنامه نویسی است، فوری CPU به 100% میرود و کار شروع میشود ولی در کامپیوتر سرور که مشکل ما در آن اتفاق می‌افتد، در مواقعی اول Disk Activity به 100% میرسد بعد از چند دقیقه به حالت نرمال برمیگردد و بعدCPU به 100% میرود و کار اصلی از آن موقع شروع می‌شود. این مشکل همیشه اتفاق نمی‌افتد و همین کار اشکال یابی را مشکل میکند.
    من در لحظه کار نکردن برنامه در Resource Monitor دیدم مثل اینکه چند پروسه از این برنامه من که اسمش را SDLAutomation.Console.exe گذاشته ام سر PageFile با هم رقابت میکنند، چون از عکسی که گرفتم این را نشان می‌‌دهد:
    pagefile_hang.png

    سیستم عامل سرور ما WindowsServer 2012 است. من حدس می‌زنم دوستانی که به زبان ++C آشنا هستند شاید بتوانند با تنظیم سیستم عامل کاری کنند که حافظه ها یا همان Pagefile ها تداخل نکنند. مثلا در صفحه
    System Properties--> Advanced --> Performance Options ---> Data Execution Prevention
    به این تنظیم مشکوک هستم. بخصوص که پیش فرض این تنظیم در Windows Server با Windows 10 فرق میکند و در اولی برای همه برنامه‌ها فعال است.
    ----
    با برنامه مخصوص debug به نام DebugDiag که وضعیت برنامه را در لحظه خطا نشان میدهد گزارشی تهیه کردم ، که قسمت warningی دارد که میگوید:

    Warning
    Number of objects ready for finalization: 476

    Description Recommendation
    This is an indication that your finalizer thread may be blocked. Look at finalizequeue info and finalizer stack to determine why/if the finalizer is blocked
    آخرین ویرایش به وسیله Esikhoob : چهارشنبه 29 آبان 1398 در 10:48 صبح دلیل: اضافه کردن اطلاعات جدید

تاپیک های مشابه

  1. خواندن قسمتی از یک صفحه وب بوسله PHP
    نوشته شده توسط mr.fotouh در بخش PHP
    پاسخ: 0
    آخرین پست: دوشنبه 18 اردیبهشت 1391, 22:12 عصر
  2. طرز کار آنتی ویروسها
    نوشته شده توسط .:KeihanCPU:. در بخش برنامه نویسی در 6 VB
    پاسخ: 20
    آخرین پست: دوشنبه 30 اردیبهشت 1387, 00:06 صبح
  3. دور زدن آنتی ویروسها
    نوشته شده توسط illegalyasync در بخش امنیت در نرم افزار و برنامه نویسی
    پاسخ: 6
    آخرین پست: یک شنبه 28 مرداد 1386, 15:15 عصر
  4. بحث پیرامون ویروسها و آنتی ویروسها
    نوشته شده توسط civ0003 در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 32
    آخرین پست: سه شنبه 09 مرداد 1386, 13:59 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •