تخفیف عضویت ویژه تا 25 اردیبهشت

آموزش ساخت فایل swap در لینوکس

امیرحسین بیگدلو 5 ماه قبل

Swap فضایی بر روی دیسک است و زمانی استفاده می شود که حافظه رم فیزیکی پر باشد. هنگامی که در یک سیستم لینوکس حافظه RAM تمام می شود، برنامه‌های غیرفعال از RAM به فضای swap منتقل می شوند.

 

فضای swap می تواند به شکل یک پارتیشن اختصاصی یا یک فایل باشد. در بیشتر موارد، هنگام اجرای لینوکس بر روی ماشین مجازی، پارتیشن swap وجود ندارد، بنابراین تنها گزینه ایجاد یک فایل swap است.

 

این آموزش بر روی سیستم های لینوکس با Ubuntu 18.04 و CentOS 7 آزمایش شده است، اما باید با هر توزیع لینوکس دیگر کار کند.

 

محتویات این صفحه:

چطور یک فایل swap اضافه کنیم؟

تنظیم میزان استفاده از swap

چطور فایل swap را حذف کنیم؟

 

 #  چطور یک فایل swap اضافه کنیم؟

در این آموزش 1 گیگابایت حافظه swap ایجاد میکنیم. میتوانید این عدد را کمتر یا بیشتر کنید.

 

 

1. با دستور زیر یک فایل ایجاد کنید تا به عنوان swap از آن استفاده کنید:

sudo fallocate -l 1G /swapfile

 

اگر ابزار fallocate را نصب ندارید و یا با پیغام خطای fallocate failed: Operation not supported مواجه شدید، میتوانید از دستور زیر استفاده کنید:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

 

 

2. فقط کاربر root باید بتواند در فایل swap بنویسد یا بخواند. برای تنظیم مجوزها از دستور زیر استفاده کنید:

sudo chmod 600 /swapfile

 

 

3. از ابزار mkswap استفاده کنید تا این فایل را به عنوان حافطه swap در لینوکس مشخص کنید:

sudo mkswap /swapfile

 

 

4. حالا باید حافظه swap را فعال کنید. با دستور زیر اینکار را انجام دهید:

sudo swapon /swapfile

 

برای اینکه تغییرات را ماندگار کنید تا بعد از هر بار ریبوت بازگردانی نشوند، فایل /etc/fstab را باز کرده و خط زیر را به آخر آن اضافه کنید:

/swapfile swap swap defaults 0 0

 

 

5. برای اینکه مطمئن شوید فایل swap به درستی نتظیم شده است، از دستور swapon یا دستور free استفاده کنید:

$ sudo swapon --show

NAME      TYPE  SIZE   USED PRIO
/swapfile file 1024M 507.4M   -1

 

$ sudo free -h

              total        used        free      shared  buff/cache   available
Mem:           488M        158M         83M        2.3M        246M        217M
Swap:          1.0G        506M        517M

 

دوره پیشنهادی: دوره آموزش لینوکس(linux)

 

 #  تنظیم میزان استفاده از swap

Swappiness یک ویژگی هسته لینوکس است که مشخص می کند سیستم چند وقت یکبار از فضای swap استفاده کند. Swappiness میتواند مقداری بین 0 تا 100 باشد. هر چقدر مقدار Swappiness کم باشد هسته سعی کند در صورت امکان از swapp اجتناب کند اما مقادیر بالا به لینوکس اجازه میدهد که بیشتر از حافظه swap استفاده کند.

 

مقدار پیشفرض برای swappiness برابر با 60 است. میتوانید با دستور زیر میزان swappiness سیستم خودتان را ببینید:

$cat /proc/sys/vm/swappiness

60

 

عدد 60 برای اکثر موارد مناسب است اما در زمان استفاده از سرور در حالت production ممکن است بخواهید مقدار آن را کم کنید. برای تغییر میزان swappiness میتوانید از دستور زیر استفاده کنید:

sudo sysctl vm.swappiness=10

 

برای اینکه این تغییر را دائمی کنید تا در صورت reboot سیستم به عدد قبلی برنگردد، دستور زیر را به آخر فایل /etc/sysctl.conf اضافه کنید:

vm.swappiness=10

 

مقدار مناسب برای swappiness به حجم کاری سیستم شما و نحوه استفاده از حافظه بستگی دارد.

 

مقاله پیشنهادی: آموزش دستور pstree لینوکس

 

 #  چطور فایل swap را حذف کنیم؟

اگر به هر دلیلی میخواهید فایل swap را غیرفعال یا حذف کنید، مراحل زیر را دنبال کنید:

 

1. ابتدا فایل swap را با دستور زیر غیر فعال کنید:

sudo swapoff -v /swapfile

 

2. خط /swapfile swap swap defaults 0 0 که قبلا به فایل /etc/fstab اضافه کرده بودید را حذف کنید.

 

3. در آخر فایل swap را با دستور rm حذف کنید:

sudo rm /swapfile

 

 

 #  نتیجه گیری

شما یاد گرفته اید که چگونه یک فایل swap ایجاد کنید و فضای swap را در سیستم لینوکس خود فعال و پیکربندی کنید. یک فایل swap به سیستم عامل اجازه می دهد تا از فضای هارد دیسک برای شبیه سازی حافظه اضافی استفاده کند. وقتی حافظه سیستم کم می شود، بخشی از RAM را که یک برنامه غیرفعال از آن استفاده می کند، روی هارد دیسک تعویض می کند تا حافظه را برای برنامه های دیگر آزاد کند.

مطالب مشابه



مونگارد