PDA

View Full Version : Out Of Memory Error لطفا کمک کنید .ممنون



atf
شنبه 10 اردیبهشت 1384, 08:32 صبح
با سلام و خسته نباشید
من یه برنامه دارم که در یکی از صفحات اون فایلهای مربوط به مثلا یک خبر را که قبلا آدرسشان در دیتا بیس ذخیره شده لود می کنم و مشخصات اون رو به کاربر نشون میدم مثلا از تصاویر سایز و طول و عرضشون و از فایل های دیگه حجم اون ها رو.

البته در همین صفحه کاربر می تواند فایل هم آپلود کند.

اما در موقع اجرا بعضی اوقات خطای Out Of Memory می گیرم. :( :گیج:

Behrouz_Rad
شنبه 10 اردیبهشت 1384, 12:35 عصر
این خطا نمایانگر کمبود حافظه در اختصاص به منابع پردازشگر NET Framework. است.

دو راه برای حل این مشکل وجود داره:
1) اصلاح کد
2) افزایش ظرفیت حافظه

اصلاح کد: ممکنه که برنامه شما منابع زیادی رو در Cache حافظه ذخیره کرده باشه یا ...

افزایش ظرفیت حافظه به احتمال زیاد می تونه مشکل شما رو حل کنه اما نمیشه به طور صد در صد اطمینان داشت.
از آنجایی که یک متغیر 32 بیتی حداکثر قادر به آدرس دهی به 4 گیگابایت از حافظه است (2 گیگابایت به Kernel و 2 گیگابایت به برنامه های اجرا شده توسط کاربر) و این میزان توان آدرس دهی برای برنامه های ASP.NET نیز کمتر است، افزایش ظرفیت حافظه توفیق چندانی در جلوگیری از رخ دادن این خطا نمی کنه.
البته پردازش به شکل 64 بیتی مشکل رو حل می کنه)
به شکل استاندارد، زمانی که برنامه ی ASP.NET ای حافظه ای بیش از 800 مگابایت از سیستم اخذ کند، خطای Out of Memory رخ خواهد داد.
در ویندوز های 2000 سرور نسخه Enterprise میشه مشکل تخصیص منابع حافظه رو با سویچ 3GB/ در فایل boot.ini حل کرد اما در بقیه ویندوزها........
تنظیمات فایل Boot.ini:
http://support.microsoft.com/kb/833722

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

همین خطای Out of Memory در هنگام انتخاب فرمت نامعتبر عکسی در برنامه با استفاده از Open Dialog نیز رخ می دهد.