آموزش اضافه کردن فضای Swap در اوبونتو Ubuntu
Swap یک فضا روی هارد دیسک است که در صورت پر شدن مقدار حافظه RAM فیزیکی از آن استفاده می شود. وقتی سیستم لینوکس از رم خارج می شود ، صفحات غیرفعال از RAM به فضای swap منتقل می شوند. در این آموزش نحوه اضافه کردن فضای swap در اوبونتو 20.04 Ubuntu توضیح داده شده است
فضای swap می تواند به صورت یک پارتیشن اختصاصی swap یا یک پرونده swap شکل بگیرد. به طور معمول ، هنگام اجرای اوبونتو بر روی یک ماشین مجازی ، یک پارتیشن swap وجود ندارد و تنها گزینه ایجاد پرونده swap است
قبل از شروع
swap نباید به عنوان جایگزینی برای حافظه Ram دیده شود. از آنجا که فضای swap بخشی از هارد دیسک است ، از زمان دسترسی کندتر نسبت به حافظه Ram برخوردار است. اگر سیستم شما دائماً از حافظه خارج می شود ، باید رم بیشتری اضافه کنید
به طور کلی ، اندازه پرونده swap بستگی به میزان RAM سیستم شما دارد :
- سیستم هایی با رم کمتر از 2 گیگابایت – 2 برابر مقدار رم
- سیستم هایی با رم 2 تا 8 گیگابایت – به اندازه اندازه رم
- سیستم هایی با بیش از 8 GB RAM – حداقل 4 GB Swap
فقط Root یا کاربر دارای امتیازات Sudo می تواند پرونده swap را فعال کند
ایجاد پرونده Swap
در این مثال ، پرونده swap 2 GB
ایجاد خواهیم کرد . اگر می خواهید swap بیشتری اضافه کنید ، بجای2G
اندازه فضای swap موردنیاز خود را جایگزین کنید.
مراحل زیر را برای اضافه کردن فضای تعویض در اوبونتو 20.04 انجام دهید:
- ابتدا فایلی را ایجاد کنید که به عنوان swap مورد استفاده قرار گیرد:
1
|
sudo fallocate -l 2G /swapfile |
اگر برنامه fallocate
در سیستم شما نیست ، یا پیام خطایی دریافت می کنید fallocate failed: Operation not supported
، از دستور زیر برای ایجاد پرونده swap استفاده کنید :
1
|
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152 |
مجوزهای پرونده را 600
تنظیم کنید تا از نوشتن و خواندن پرونده توسط کاربران معمولی جلوگیری کنند :
1
|
sudo chmod 600 /swapfile |
یک منطقه swap لینوکس روی پرونده ایجاد کنید :
1
|
sudo mkswap /swapfile |
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=fde7d2c8-06ea-400a-9027-fd731d8ab4c8
با استفاده از دستور زیر فایل swap را فعال کنید :
1
|
sudo swapon /swapfile |
برای ایجاد تغییرات دائمی پرونده /etc/fstab
را باز کنید :
1
|
sudo nano /etc/fstab |
و خط زیر را بچسبانید:
/swapfile swap swap defaults 0 0
تأیید کنید که swap با استفاده دستور swapon
یا از دستور free
، مانند تصویر زیر فعال است :
1
|
sudo swapon --show |
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -1
1
|
sudo free -h |
total used free shared buff/cache available
Mem: 981Mi 97Mi 68Mi 0.0Ki 814Mi 735Mi
Swap: 2.0Gi 10Mi 1.9Gi
تنظیم مقدار Swappiness
Swappiness یک ویژگی هسته لینوکس است که مشخص می کند چند بار سیستم از فضای swap استفاده خواهد کرد. این مقدار می تواند بین 0 تا 100 باشد. یک مقدار کم باعث می شود هسته سعی کند از هر زمان ممکن swap ای کند ، در حالی که یک مقدار بالاتر باعث می شود که هسته از فضای swap بیشتری استفاده کند.
در اوبونتو ، مقدار پیش فرض swappiness روی 60
تنظیم شده است. می توانید با وارد کردن دستور زیر مقدار فعلی را بررسی کنید :
1
|
cat /proc/sys/vm/swappiness |
1
2
|
خروجی: 60 |
در حالی که مقدار swappiness 60
برای اکثر سیستم های لینوکس خوب است ، ممکن است شما نیاز به تنظیم مقدار کمتری داشته باشید
به عنوان مثال ، برای تنظیم مقدار swappiness روی 10
، اجرا کنید :
1
|
sudo sysctl vm.swappiness=10 |
برای ثابت ماندن این پارامتر در راه اندازی مجدد ، خط زیر را به پرونده /etc/sysctl.conf
اضافه کنید
1
|
nano /etc/sysctl.conf |
vm.swappiness=10
مقدار بهینه swap بستگی به حجم کار سیستم شما و نحوه استفاده از حافظه دارد. برای یافتن یک مقدار بهینه باید این پارامتر را با افزایش های کوچک تنظیم کنید
حذف پرونده Swap
برای غیرفعال کردن و حذف پرونده swap ، این مراحل را دنبال کنید :
ابتدا فضای swap را غیرفعال کنید :
1
|
sudo swapoff -v /swapfile |
بعد ، /swapfile swap swap defaults 0 0
را از پرونده /etc/fstab
حذف کنید
در آخر ، پرونده واقعی swapfile را با استفاده از rm
دستور حذف کنید :
1
|
sudo rm /swapfile |
نتیجه گیری
ما به شما نشان داده ایم که چگونه یک فایل swap ایجاد کنید و فضای swap را در سیستم Ubuntu 20.04 خود فعال و پیکربندی کنید