TechBord Logo
TechBord detail

نشت حافظه (Memory Leak) چیست؟

نشت حافظه مانند نشت روغن مجازی در رایانه شما است. به آرامی حافظه (Memory) موجود را تخلیه می کند و میزان حافظه رایگانی که سیستم می تواند استفاده کند را کاهش می دهد. بیشتر نشت‌های حافظه به دلیل برنامه (Program) ایجاد می‌شوند که به طور ناخواسته مقادیر فزاینده‌ای از حافظه را در حین کار مصرف می‌کند. این معمولاً یک فرآیند تدریجی است که با باز ماندن برنامه بدتر می شود. اگر نشت به اندازه کافی بد باشد، می‌تواند باعث از کار افتادن برنامه یا حتی یخ زدن کل رایانه شود.

شایع‌ترین دلیلی که برنامه‌ها نشت حافظه دارند، به دلیل خطای برنامه‌نویسی است که در آن حافظه استفاده نشده دوباره تخصیص داده نمی‌شود. به سیستم این بدان معناست که مقدار حافظه دسترسی تصادفی (RAM) مورد استفاده برنامه همیشه در حال افزایش است. بنابراین، برنامه به طور مداوم در حال "نشت" حافظه است. نشت حافظه همچنین ممکن است به دلیل برنامه ای باشد که به جای استفاده از حافظه موجود، به طور مکرر از حافظه جدید درخواست می کند. این بدان معناست که هر بار که حافظه بیشتری درخواست می شود، برنامه به جای استفاده از حافظه ای که قبلاً در دسترس برنامه قرار داده شده است، رم اضافی را اشغال می کند.

خوشبختانه، نشت حافظه به اندازه نشت روغن نامرتب نیست و می تواند ایجاد شود. راحت تر ثابت می شود برنامه های توسعه نرم افزار اغلب شامل اشکال زدا (Debugger) هستند که می توانند برنامه ها را برای نشت حافظه بررسی کنند. هنگامی که منبع نشت پیدا شد، برنامه نویس می تواند کد را تغییر دهد تا برنامه به طور موثرتری از حافظه استفاده کند. اگر از برنامه‌ای استفاده می‌کنید که نشت حافظه دارد، می‌توانید با خروج از برنامه و باز کردن مجدد آن، به طور موقت مشکل را برطرف کنید. پس از خروج از برنامه، حافظه به طور خودکار به سیستم تخصیص داده می شود. البته، اگر نشت همچنان یک مشکل است، بهترین راه حل این است که به توسعه دهنده اطلاع دهید تا بتوان آن را برطرف کرد.

تعریف اصطلاح نشت حافظه (Memory Leak) توسط تک بورد

تعریف نشت حافظه (Memory Leak) در این صفحه یک تعریف پایه نگاشته شده توسط تک بورد است. اگر مایل به ارجاع به این صفحه یا استناد به این تعریف هستید، با شرط درج لینک به این صفحه می توانید از این محتوا استفاده کنید.

هدف تک بورد توضیح اصطلاحات کامپیوتری به روشی است که به راحتی قابل درک باشد. ما برای سادگی و دقت با هر تعریفی که منتشر می کنیم تلاش می کنیم. اگر بازخوردی درباره تعریف نشت حافظه (Memory Leak) دارید یا می‌خواهید یک اصطلاح فنی جدید پیشنهاد کنید، لطفاً با ما تماس بگیرید.

آیا می خواهید اصطلاحات فنی بیشتری یاد بگیرید؟ در خبرنامه روزانه یا هفتگی مشترک شوید و شرایط و آزمون های ویژه را در ایمیل خود تحویل بگیرید.