اطلاعیه

Collapse
No announcement yet.

کمک در حل مشکل out of memory در نرم افزار Matlab

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کمک در حل مشکل out of memory در نرم افزار Matlab

    سلام
    دوستان لطفاً اگه میدونید که چطور میشه حافظه را برای نرم افزار متلب گسترش داد که خطای out of memory نده راهنمایی کنید. من می خوام یه ماتریس با ابعاد (50,50,10000) داشته باشم که با این پیغام مواجه میشم.
    ممنون

    #2
    پاسخ : کمک در حل مشکل out of memory در نرم افزار Matlab

    با فرض 8 بایت به ازای هر سلول هم با 200 مگ حافظه کارت راه میفته. پس مشکلت احتمالا حافظه فیزیکی سیتمت نیست. حجم swapping area رو اضافه کن ببین مشکلت حل میشه؟ (در MyComputer - properties - Advanced - Performance در قسمت Virtual Memory حجم VM رو بالا ببر مثلا 4092 کن. یا اینکه روی چند تا پارتیشن اینکارو بکن. اگه مشکلت حل نشد یا مشکلت اینجا نیست. یا اینکه مجبوری سراغ نسخه 64 بیتی بری.)
    ضمنا یکی از مواردی که اشتباها سیستم بجاش به memory ایراد میگیره اینه که ممکنه سیستم شما ویروسی شده باشه و بخواد یک dll رو بار کنه و فایلش خراب شده باشه. این جور مواقع یک برنامه ممکنه این ایراد رو به صورت not enough memory گزارش بده. راه حل؟ یک نسخه تازه از متلب نصب کنین و ببینین مشکلتون حل میشه یا نه.

    دیدگاه


      #3
      پاسخ : کمک در حل مشکل out of memory در نرم افزار Matlab

      دوست عزیز ممنون از راهنماییتون اما مشکل من از ویروس و ... نیست. این ماتریس که مثال زدم تنها ماتریس برنامه من نیست، تعداد ماتریس های این فرمی تو برنامم زیاده که چون دائما هم بهشون احتیاج دارم نمیشه تو قسمت های پایین برنامه clear کنم که فضای حافظه آزاد بشه. وقتی متلب رو باز می کنید و هیچ متغیری تو workspace نیست اگه بخوایم یه ماتریس a=zeros(50,50,70000) بسازیم ( تو نسخه 32 بیتی) میگه memory جا نداره. سوال من اینه که چطور می تونم این حافظه پیش فرض متلب رو افزایش بدم به مقدار دلخواه خودم. اصلا این امکان هست؟
      ممنونم

      دیدگاه


        #4
        پاسخ : کمک در حل مشکل out of memory در نرم افزار Matlab

        task manager رو بیار بالا ببین در قسمت Commit Charge مقدار روبروی Limit چنده؟ اگه مقدارش زیر 5 یا 6 میلیون هست احتمالا مجبوری مقدار حافظه مجازی رو اونطوری که توضیح دادم زیاد کنی.

        دیدگاه


          #5
          پاسخ : کمک در حل مشکل out of memory در نرم افزار Matlab

          سلام
          کاری که گفتید رو انجام دادم هما تاثیری در برنامه و رفع مشکل memory نداشت. عدد مقابل commit را به 50gig هم رسوندم اما نتیجه با وقتی که 5626mb بود فرقی نکرد. در هر صورت بابت راهنمایی تون ممنونم، لطف کردید.

          دیدگاه


            #6
            پاسخ : کمک در حل مشکل out of memory در نرم افزار Matlab

            پس میشه نتیجه گرفت برنامه شما برای یک سیستم 32 بیتی خیلی بزرگه. یا الگوریتم رو عوض کنین (مثلا از swap استفاده کنین) یا برین سراغ یک سیستم 64 بیتی و نسخه 64 بیتی همین نرم افزار. البته جز در موارد خاص مورد دوم خیلی کار قشنگی نیست.
            صمنا اون چیزی که راجع به commit گفتم فرض بر این بود که برنامه شما نمیتونه به 3 گیگا بایت فضای حافظه خودش دسترسی پیدا کنه. ولی مسلما با این میزان 50 گیگ که گفتین میتونه. و این مسلما به خاطر اینه که مدلتون به میزان حافظه مورد نیازش دسترسی نداره.

            دیدگاه


              #7
              پاسخ : کمک در حل مشکل out of memory در نرم افزار Matlab

              سلام
              آقا رضا بابت راهنمایی هایی که کردید ممنونم، از اینکه پیگیر این موضوع بودید بسیار خوشحالم. بالاخره تونستم این مشکل رو حل کنم. راه حلش رو میگم که دوستان اگه احیانا به این مشکل خوردن راحت بتونن بر طرف کنن. با نصب متلب ورژن 2010 و دنبال کردن مسیر زیر:
              file>preferences>general>java Heap Memory
              و زیاد کردن مقدار java Heap size این مشکل حل می شه، این هم نوشته ای از همون صفحه ای که مسیرش در بالا ذکر شد:
              Increasing this value may help you avoid "OutOfMemoryError: Java heap space" errors.
              یکی از تغییرات جالب ورژن 2010 همینه که بالاخره کار منو راه انداخت. موفق باشید.

              دیدگاه


                #8
                پاسخ : کمک در حل مشکل out of memory در نرم افزار Matlab

                سلام.
                مطلب قدیمی هست ولی گفتم من هم تجربه ام رو مطرح کنم خالی از لطف نیست.
                من برای پروژه کارشناسی ارشدم دقیقا همین مشکل رو داشتم.
                مشکل رو اینطوری حل کردم که نسخه لینوکس، KUBUNTU رو دانلود کردم، رایگان هست. متلب تحت لینوکس رو روش نصب کردم و با اون کار کردم. متلب تحت لینوکس تقریبا هیچ موقع این پیام رو نمیده.
                در ضمن از اسم لینوکس نترسید، نسخه ای که معرفی کردم محیطش کاملا شبیه ویندوز هست، روی ویندوز نصب میشه و از طریق ویندوز هم پاک میشه، هیچ پارتیشنی رو هم دستکاری نمیکنه و به تمام پارتیش ها هم از طریق اون دسترسی وجود داره.
                موفق باشید.
                شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
                هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
                چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

                دیدگاه


                  #9
                  پاسخ : کمک در حل مشکل out of memory در نرم افزار Matlab

                  با سلام

                  می دونم تاپیک قدیمیه ، اما مشکل من همینه و نتونستم حل کنم!

                  من الان ماتریسی دارم که ستونش 9000 هست ، اما سطرش در هرمرحله داره زیاد میشه( با vertcat کردنش به ماتریس دیگری) .. به همین خاطر ارور out of memory در مثلا لوپ 150 داده میشه ..(تا آخر لوپ ها ، هم فکر میکنم تعداد سطر این ماتریس از 1 میلیون هم رد میشه!!!!! )
                  از اسپارس استفادهکردم بی فایده بود ، از Int8 استفاده کردم بازم هنگ و ....... هرکاری میکنم نمیشه ! رم من 6 گیگ هست.
                  باید چیکار کنم ؟؟؟ خیلی مهم هست این موضوع ! اینکه میگید اطلاعات رو در ماتریسهای کوچکتر ذخیره کنم دقیقا یعنی چی؟؟؟بدرد کار من میخوره ؟؟ میشه مثال کدی بزنید؟
                  آخه در مرحله بعد به حاصل این ماتریس نیاز دارم و این ورودی یه تابع هست.
                  مسئله بیسیار مهم هست واسم. منون میشم کمک کنید

                  دیدگاه


                    #10
                    پاسخ : کمک در حل مشکل out of memory در نرم افزار Matlab

                    دوستان کسی نمی دونه ؟

                    دیدگاه


                      #11
                      پاسخ : کمک در حل مشکل out of memory در نرم افزار Matlab

                      منم همین مشکل رو دارم!!!لطفا کمک کنیدددددددددددددددددددددد!!!! :cry2:

                      دیدگاه


                        #12
                        پاسخ : کمک در حل مشکل out of memory در نرم افزار Matlab

                        با سلام

                        اگر از متلب 2014 , 64بیت استفاده می کنید احتمالا مشکل چندانی نخواهید داشت (ماتریس با اندازه 30 گیگ تونستم ایجاد کنم )

                        متلب لینوکسی هم مشکلی در این زمینه نداره (در راهنما نوشته که حجم ماتریس حتی می تونه به 1 ترا برسه)

                        در بعضی موارد هم میشه با اصلاح کد برنامه رو بهینه نمود

                        http://www.4shared.com/office/wspNnTsI/AMUZESH_JAMEE_MATLAB.html

                        دیدگاه

                        لطفا صبر کنید...
                        X