حافظه مجازی یا همان Virtual Memory که به آن Swap گفته می شود،در سیستم عامل گنو/لینوکس زمانی مورد استفاده قرار می گیرد که حافظه ی اصلی سیستم یا همان physical memory که به آن RAM گفته می شود کامل پر شده باشد.در واقع زمانی که سیستم نیاز به حافظه ی بیشتری دارد و RAM پر شده باشد،Page های غیر فعال که در حافظه قرار دارن به Sawp منتقل می شوند.البته گفتنی است که Swap جایگزین physical memory نیست،بلکه پارتیشن کوچکی بر روی هارد دیسک می باشد که اغلب هنگام نصب سیستم عامل ایجاد می شود.نکته اینکه Swap علاوه بر اینکه می تواند یک پارتیشن باشد،می تواند یک فایل نیز باشد که کار Swap را انجام دهد که در آن حالت به آن Swap File گفته می شود.
گاهی اوقات سیستم تمامی فضای Swap را مصرف می کند ولی در حالی که فضای خالی بر روی physical memory در دسترس می باشد.این اتفاق زمانی رخ می دهد که سیستم در لحظه ای که نیاز زیادی به حافظه داشته است page های غیرفعال را به Swap انتقال داده است و پس از آن که مقداری از physical memory خالی شده است دیگر آن page های غیرفعال به حافظه ی اصلی برگردانده نشده اند.در چنین شرایطی ما می توانیم به صورت دستی page های غیرفعال را از حافظه ی Swap به حافظه ی Ram منتقل کنیم.
نکاتی که قبل از انجام اینکار باید به آنها توجه کرد به شرح زیر می باشند:
- زمان انتقال page های غیرفعال به حافظه ی اصلی، به اندازه ی حافظه ی Swap بستگی دارد.
- فضای مورد نیاز باید بر روی physical memory در دسترس باشد.به عنوان مثال اگر قصد داشته باشید تا 2GB حافظه ی Swap را پاک کنید باید بیش از 2GB حافظه ی RAM در دسترس باشد.به زبان دیگر باید رابطه ی
Swap Memory = Free Memory of Physical RAM برقرار باشد.
اکنون جهت پاک کردن حافظه ی Swap کافیست تا دستور زیر را اجرا کنید :
#swapoff -a
پس از اینکه دستور بالا به صورت موفقیت آمیز انجام شد،اکنون جهت فعال کردن دوباره ی حافظه ی Swap این دستور را اجرا کنید :
#swapon -a
امید است تا از این مطلب استفاده لازم را برده باشید.