linux

ساخت Swap file در لینوکس

امتیاز کاربران

ستاره فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

در این مطلب می خواهیم بدانیم کاربرد Swap Partition در سیستم عامل لینوکس چیست و روش ساخت آن با فایل به چه صورت می باشد.

 

Swap Partition چیست؟

زمان نصب سیستم عامل لینوکس حتما دیده اید که سیستم عامل به شما پیشنهاد می کند که یک پارتیشن به نام SWAP ایجاد کنید. البته در سیستم عامل ویندوز هم، چنین پارتیشنی وجود دارد اما بعنوان یک پارتیشن شناخته نمیشود. در واقع میتوان گفت این بخش را که در لینوکس بعنوان Swap Partition شناخته می شود  در سیستم عامل ویندوز به  Page File یا Virtual Memory معروف می باشد.یعنی همان کاری که در ویندوز Virtual Memory انجام می دهد ، SWAP Partition در لینوکس انجام می دهد.البته از لحاظ فنی این دو با هم تفاوت های زیادی دارند.

چرا از Swap Partition استفاده می کنیم؟

به احتمال زیاد با این مشکل برخورد داشته اید که سیستم عامل شما دچار کمبود RAM شود. Swap راهکاری در سیستم‌های لینوکس است تا میزان RAM کم سیستم جبران شود. در این روش فضایی از هارد دیسک به عنوان Swap در نظر گرفته می‌شود تا در صورت نیاز به حافظه بیشتر از RAM اصلی سیستم، اطلاعات (صفحات حافظه) در این بخش ذخیره و بازیابی شوند. در واقع SWAP به عنوان یک حافظه مجازی به سیستم عامل معرفی می شود و هر زمانیکه بر روی سیستم عامل لینوکس حافظه RAM بصورت کامل توسط نرم افزارها پر شود ، هر نرم افزار جدیدی که اجرا شود می تواند همانند RAM از حافظه SWAP یا فضای SWAP ای که معمولا بر روی هارد دیسک سیستم قرار گرفته است استفاده کند. همچنین Swap Partition به شما این امکان را می دهد که برخی از آیتم ها را از درون حافظه RAM خود به درون حافظه هارد دیسک خود منتقل کنید تا فضای لازم برای اجرا کردن سایر برنامه های ضروری تر در حافظه RAM باز شود. در واقع مواردی که کمتر توسط CPU مورد دسترسی قرار می گیرند را می توانیم به داخل SWAP Partition منتقل کنیم.

ممکن است به این فکر کنید که با این راهکار براحتی و بدون نیاز به خریدن RAM می توان مشکل کمبود حافظه اصلی سیستم را برطرف نمود اما در واقعیت به اینصورت نیست چرا که سرعت حافظه اصلی سیستم و حافظه Swap Partition که بر روی هارد دیسک قرار میگیرد قابل مقایسه نیست.

 طریقه اضافه کردن یک Swap File جدید

چنانچه بعد از نصب سیستم عامل تصمیم به ایجاد swap file داشته باشید می‌توانید فضای Swap را یک پارتیشن مخصوص یا یک فایل در نظر بگیرید. با اینکه اکثرا از پارتیشن مخصوص برای این فضا استفاده می‌کنند اما گفته می‌شود فایل Swap نیز از عهده این کار به خوبی بر می‌آید.در صورتی که بخواهیم یک پارتیشن مخصوص برای اینکار در نظر بگیریم می بایست با استفاده از دستور fdisk پارتیشنی از نوع Swap ایجاد می کنیم. البته تنظیم کردن Swap روی فایل نیز مزیت‌های خاص خودش را دارد. مانند اینکه راحت می‌توان آن را کم، زیاد و یا حذف کرد و درگیری با پارتیشن‌های هارد نخواهیم داشت.

* در این مطلب روش ایجاد Swap File آموزش داده میشود.

قبل از اینکه شروع به ساختن Swap File کنیم می توانیم با استفاده از دستورات swapon –s یا free –m وضعیت استفاده از SWAP Partition خود را مشاهده کنیم:

 
 
root@hellodigi:~# swapon -s
Filename Type Size Used Priority
/dev/sda5 partition 901116 0 -1
root@hellodigi:~#
-------------------------------------------------------------
root@hellodigi:~# free -m
total used free shared buff/cache available
Mem: 3801 2318 117 304 1365 1104
Swap: 879 0 879
root@hellodigi:~#
 
 
 

 ۱)  سپس با دستور زیر فایل را ایجاد می کنیم:

 
 
dd if=/dev/zero of=/swapfile bs=1024 count=8192
 
 
 

 در دستور بالا بعد از of مسیر فایل مورد نظرتان که Swap روی آن تنظیم می‌شود را می‌نویسیم، در اینجا فایلی با نام swapfile در مسیر / قبلا ساخته شده  و برای این منظور در نظر گرفته ایم. بعد از count نیز حجم مورد نیاز برای این فضا را بر حسب کیلوبایت می‌نویسیم که در اینجا ۸ مگابایت (۸ × ۱۰۲۴) در نظر گرفته‌ شده است.

*معمولا مقدار فضای Swap را دو برابر اندازه حافظه اصلی در نظر می گیرند.

 ۲) در این مرحله swap file را با دستور زیر فرمت می کنیم، بعد از دستور mkswap مسیر فایل را می نویسیم:

 
 
mkswap /swapfile
 
 
 

 ۳) سپس از دستور Swap on استفاده می کنیم:

 
 
swapon /swapfile
 
 
 

 * اگر بعدها تصمیم گرفتید این swap file را از سیستم بگیرید از دستور swapoff باید استفاده نمایید.

 ۴) برای اینکه تغییرات بصورت دائمی بر روی سیستم فعال باشد می بایست در انتهای فایل etc/fstab/ خط زیر را اضافه و در نهایت با دستور Reboot سیستم را ریستارت نمایید:

 
 
/swapfile none swap sw 0 0
 
 
 

 ۵) الان با زدن دستور swapon –s یا free –m  می توانید Swap File ایجاد شده بر روی سیستم تان را مشاهده نمایید.

 

 
 
root@hellodigi:~# swapon -s
Filename     Type Size     Used        Priority
/swapfile     file 8191996 1072744    -1
root@hellodigi:~#
-------------------------------------------------------------
root@hellodigi:~# free -m
total   used free shared buff/cache  available
Mem: 3801 2318 117     304 1365    1104
Swap: 7999 1051 6948
root@hellodigi:~#
 
 
 

 موفق باشید