کدام متغیر MATLAB حافظه شما را پر کرده است؟

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

چگونه بفهمیم کدام متغیر در MATLAB بیشترین حافظه RAM را مصرف می‌کند؟

whos

 

گاهی هنگام کار با MATLAB ناگهان با کند شدن سیستم یا پر شدن حافظه RAM مواجه می‌شویم. در چنین شرایطی یکی از اولین کارهایی که می‌توان انجام داد، بررسی حجم متغیرهای موجود در Workspace است.

برای این کار کافی است دستور زیر را در Command Window وارد کنید:

whos

دستور whos اطلاعاتی مانند نام متغیر، ابعاد، نوع داده و میزان حافظه اشغال‌شده توسط هر متغیر را نمایش می‌دهد.

برای مثال ممکن است خروجی مشابه زیر ببینید:

  Name          Size                 Bytes  Class

  A          1000x1000             8000000  double
  B           100x100                80000  double
  image      4000x6000x3          72000000  uint8

ستون مهم برای ما Bytes است. هرچه مقدار این ستون بیشتر باشد، آن متغیر فضای بیشتری از حافظه RAM را اشغال کرده است.

در مثال بالا، متغیر image بیشترین حافظه را مصرف می‌کند.

اگر دیگر به یک متغیر بزرگ نیاز ندارید، می‌توانید آن را با دستور زیر از حافظه حذف کنید:

clear image

همچنین برای مشاهده اطلاعات یک متغیر خاص می‌توانید بنویسید:

whos image

نکته

اگر با ماتریس‌های بزرگ، تصاویر با رزولوشن بالا یا داده‌های حجیم کار می‌کنید، استفاده از whos یکی از سریع‌ترین روش‌ها برای پیدا کردن متغیرهایی است که حافظه زیادی مصرف می‌کنند.

پس هر وقت احساس کردید MATLAB بیش از حد RAM مصرف می‌کند، قبل از هر کار دیگری یک بار این دستور ساده را امتحان کنید:

whos

 

 

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *