ساخت swap file در اوبونتو

زمان مطالعه: 2 دقیقه

با سلام، تو این آموزش میخوام روش ساخت swap رو بزارم (خودم رم لپتاپ رو ارتقا داده بودم که دیگه نمیتونستم هایبرنیت کنم و باید فضای swap رو ارتقا میدادم)

اول از همه برای گرفتن اطلاعات swap کافه دستور زیر رو تو ترمینال بزنید:

sudo swapon --show

با دسترو زیر نیز می تونید فضای اشغال شده توسط swap رو آزاد کنید:

free -h

خروجیش چیزی شبیه زیر هست:

              total        used        free      shared  buff/cache   available
Mem:           488M         36M        104M        652K        348M        426M
Swap:            0B          0B          0B

خب برای بررسی مقدار فضای هارد  درایو از دستور زیر استفاده کنید:

df -h

خروجیش شبیه زیر خواهد بود:

 و اما رسیدیم به بخش ساختن فایل swap:

اول از همه باید swap رو خاموش کنید(استفاده از دستور زیر):

swapoff -a

حال من رم لپتاپم ۱۶ گیگ هست، بهترین حالت اینه که دو برابر رم رو برای swap در نظر بگیرید و از طرفی چون فضای لپتاپم کم بود به ۱۷ گیگ بسنده کردم. حال دستور زیر رو باید بزنید:

sudo fallocate -l 17G /swapfile

با دسترو زیر میتونیم مطمین بشیم که مقدار فوق رزرو شده است:

ls -lh /swapfile

و اما فعال سازی فایل swap:

اول از همه کاری می کنیم که فایل فقط توسط root قابل دسترس باشد، از دستور زیر استفاده می کنیم:

sudo chmod 600 /swapfile

برای اطمینان از اینکه تغییرات اعمال شده دستور زیر رو می زنیم:

ls -lh /swapfile

خروجی باید مثل زیر باشه:

-rw——- 1 root root 17G Feb 15 11:03 /swapfile

حال فایلی که ساختیم رو به عنوان swap معرفی م یکنیم:

sudo mkswap /swapfile

خروجیش میشه:

mkswap: /swapfile: warning: wiping old swap signature.
Setting up swapspace version 1, size = 17 GiB (18253606912 bytes)

حال نوبت به فعال سازی می رسه:

sudo swapon /swapfile

حال دستور زیر را می زنیم :

sudo swapon –show

تا اینجای کار ما یه فایل swap ساختیم اما permanent نیست و با reboot کردن از بین میره، برای دایمی کردنش باید مراحل زیر رو طی کنیم (د رحقیقت قایل swap را به /etc/fstab اضافه می کنیم) :

اول از همه از فایل /etc/fstabپشتیبان می گیریم:

sudo cp /etc/fstab /etc/fstab.bak

با دستور زیر اطلاعات swap را به انتهای فایل  /etc/fstab اضافه می کنیم:

echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab

 

آشنایی با ویژگیswappiness :

این پارامتر مشخص می کنه که سیستم اغلب چه مقدار داده از رم داخل swap بریزه. مقدارش بین ۰ تا ۱۰۰ هست (به درصد)، هر چی به صفر نزدیک بشیم تقریبا کرنل چیزی را روی swap نمیریزه مگر اینکه واقعا مجبور بشه. مقدار swappiness را با دسترو زیر میتوان دید:

cat /proc/sys/vm/swappiness

با دستور sysctl ، میتوان مقدارش را تغییر داد:

sudo sysctl vm.swappiness=10

که این مقدار با ریبوت شدن نیز مجدد به حالت قبلی بر میگردهُ برای دایمی کردنش کافیه دو قدم زیر را انجام دهید:

اول با دستور زیر وارد فایل کانف شوید:

sudo nano /etc/sysctl.conf

حال انتهای فایل مقدار زیر را وارد کنید:

vm.swappiness=10