اگر از طرفداران هری پاتر باشید میتوانید تصور کنید که زندگی به کمک وِرد های جادویی چقدر راحتتر است. سیستم عامل لینوکس شباهت زیادی به دنیای جادوگری دارد. کافی است دستور (Command) را اجرا کنید تا هر کاری که دوست دارید را انجام دهید. در این نوشتار یکی از وردهای جادویی لینوکس برای افزایش حافظه سیستمعامل را با شما به اشتراک میگذاریم!
Swap File چیست؟
سیستم عامل لینوکس به دلیل امکانات بی نظیری که در اختیار کاربران و برنامه نویسان قرار می دهد، از محبوب ترین سیستم عامل های جهان به شمار می رود.
در زمان نصب Linux حتما دیدهاید که سیستم عامل به شما پیشنهاد میکند یک پارتیشن به نام Swap ایجاد کنید. Swap فضایی بر روی دیسک است که وقتی حافظه رم فیزیکی پر باشد میتوان از آن استفاده کرد. در واقع لینوکس از این رم مجازی استفاده میکند تا مشکلی در پردازشها پیش نیاید و سیستم هنگ نکند. فضای Swap به 2 شکل فایل و پارتیشن اختصاصی وجود دارد. وقتی لینوکس را روی ماشین مجازی اجرا کنید فقط فایل Swap در دسترس است و نمیتوانید از پارتیشن استفاده کنید.
این آموزش روی اوبونتو 22.04 تست شده اما روی همه توزیع ها باید موثر باشد. اوبونتو یکی از توزیع های کاربر پسند و محبوب لینوکس است که جایگاه خوبی بین کاربران مجازی دارد. این توزیع متن باز است و از زبان های مختلف از جمله زبان فارسی پشتیبانی می کند.
نکته جالب دیگر در مورد اوبنتو این است که نصب و راه اندازی آن روی سرور آسان و راحت است. و شاید مهم ترین دلیل محبوبیت این توزیع همین باشد البته از دیگر مزایای آن می توان به امنیت بالا، به روز رسانی منظم، رایگان بودن و… اشاره کرد.
بیشتر بخوانید: توزیع لینوکس چیست ؟ معرفی 7 توزیع پرطرفدار
نحوه ساخت Swap File
در قدم اول با یوزر Sudo به لینوکس وارد شوید سپس با دستور زیر مقدار مشخصی از فضای هارد دیسک را بردارید. در این آموزش قصد داریم 1 گیگابایت حافظه Swap ایجاد کنیم اما اگر به 2 گیگابایت فضا احتیاج دارید، میتوانید در دستور 2G را جایگزین 1G کنید.
sudo fallocate -l 1G /swapfile
اگر fallocate نصب نشده باشد یا با پیام خطایی مبنیبر پشتیبانینشدن عملیات مواجه شدید، دستور زیر را اجرا کنید:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
برای تنظیم مجوزهای مناسب برای ایجاد دسترسی فقط برای کاربر اصلی به منظور خواندن و نوشتن فایل Swapدستور زیر را وارد کنید:
sudo chmod 600 /swapfile
برای تنظیم فایل بهعنوان ناحیه Linux Swap، باید از ابزار mkswap استفاده کنید. بنابراین دستور زیر را وارد کنید:
sudo mkswap /swapfile
وقت آن رسیده که Swap را با استفاده از دستور زیر فعال کنید:
sudo swapon /swapfile
برای ثبت تغییر ایجادشده، فایل /etc/fstab را باز کنید و خط زیر را به آن اضافه کنید:
/etc/fstab
/swapfile swap swap defaults 0 0
برای بررسی فعالبودن Swap ، از دستور swapon یا free بهشکل زیر باید استفاده کنید:
نحوه حذف فایل Swap
در سیستمهایی با RAM زیاد و کافی، نیازی به SWAP نیست و کاربر میتواند این بخش را حذف کند و از تمام ظرفیت هارددیسک یا SSD استفاده کند. به این منظور دستورات زیر را اجرا کنید:
در مرحله اول، باید Swap را با تایپکردن دستور زیر غیرفعال کنید:
sudo swapoff -v /swapfile
حالا باید ورودی فایل /swapfile swap swap defaults 0 0 را از فایل /etc/fstab حذف کنید.
و در مرحله آخر هم فایل Swapfile واقعی را با استفاده از دستور rm حذف کنید:
sudo rm /swapfile
Swappiness چیست؟
Swappiness ویژگی هسته لینوکس است و تعداد دفعات استفادهی سیستم از فضای Swap را مشخص میکند. مقدار Swappiness میتواند از 0 تا 100 تنظیم شود. هرچه این مقدار به صفر نزدیکتر باشد، هسته تا حدممکن swapping را انجام نخواهد داد اما هرچه میزان Swappiness به 100 نزدیکتر شود، هسته تمایل بیشتری به استفاده از فضای مبادله خواهد داشت.
تنظیم مقدار Swappiness
در این آموزش مقدار Swappiness بهصورت پیشفرض روی 60 تنظیم شده است. این عدد تقریباً برای اکثر سیستمهای Linux مناسب است؛ اما بهاحتمال زیاد برای پروداکشن سرورها نیاز است مقدار کمتری تنظیم کنید. با تایپکردن دستور زیر، میتوانید مقدار فعلی Swappiness را بررسی کنید:
cat /proc/sys/vm/swappiness
۶۰
اگر نیاز به کاهش مقدار مورد نظر داشتید و بهمنظور تنظیم مقدار Swappiness روی 10، دستور sysctl زیر را اجرا کنید:
sudo sysctl vm.swappiness=۱۰
دقت کنید که این پارامتر هنگام Restart و راهاندازی مجدد سیستم از بین میرود؛ ازاینرو، برای ثابت نگهداشتن این پارامتر، باید خط زیر را به فایل /etc/sysctl.conf بیفزایید:
vm.swappiness=۱۰
سخن پایانی
در این نوشتار ورد جادویی افزایش فضای حافظه سیستم عامل لینوکس را به شما آموختیم. در مدرسه جادوگری هاگوارتز هم به دانشآموزان آموخته بودند که برای بزرگتر کردن فضا از وِردِ “اینگورجیو” استفاده کنند. تنها تفاوت این است که اسم رمز ما به جای اینگورجیو، Swap است!