PDA

View Full Version : سوال: حافظه



mrbm_2007
پنج شنبه 04 اسفند 1390, 22:42 عصر
سلام
یک برنامه C# توی ویندوز 32 بیت حداکثر چقدر حافظه (رم) می تونه بگیره؟
مثلا

var m1 = System.Diagnostics.Process.GetCurrentProcess().Pri vateMemorySize64;
var a = new double[197000000];
var m2 = System.Diagnostics.Process.GetCurrentProcess().Pri vateMemorySize64;
Console.WriteLine((m2 - m1) / 1024 / 1024 + " MB");
Console.WriteLine((m2 - m1) / 1024.0 / 1024.0 / 1024.0 + " GB");
a[0] = 123;
Console.ReadKey();


Unhandled Exception: OutOfMemoryException.
Press any key to continue . . .:عصبانی++:

آیا راهی بر طرف کردن این مشکل هست؟ با کد های منیج نشده (یا نیتیو) هم همین طوره؟

Mahmoud.Afrad
جمعه 05 اسفند 1390, 01:06 صبح
خوب شما آرایه ای(ساختاری) با 197 میلیون خانه از نوع double که هر عنصر دابل 8 بایتیه استفاده کردید بایدم کمبود حافظه پیش بیاد دیگه.
برای تست از اعداد کوچکتری استفاده کنید مثلا 1000 یا 10000 ...

mrbm_2007
جمعه 05 اسفند 1390, 02:30 صبح
برای تست از اعداد کوچکتری استفاده کنید مثلا 1000 یا 10000 ...

:تشویق: خودم میدونم
سوال من رو نخوندید؟
یک برنامه C#‎ توی ویندوز 32 بیت حداکثر چقدر حافظه (رم) می تونه بگیره؟

اگر منظورت استفاده از چندین هزار ارایه با طول کمتره، اینم تست کردم
تا جایی که خودم هم سرچ کردم فکر کنم حداکثر حدود 2 گیگ میشه حافظه گرفت!