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


دانستن در مورد مبادله و نحوه انجام آن
نحوه ایجاد یک فایل Swap در لینوکس
مراحل زیر را به دقت دنبال کنید تا swap تا اندازه 1 گیگابایت را ایجاد کرده و به سرور خود اضافه کنید. اگر قصد دارید به جای یک گیگابایت از دو گیگابایت فضای swap استفاده کنید، می توانید 2G را با 1G جایگزین کنید.
چه کسی هاست لینوکس می خرد و چه مزایایی دارد؟ مقاله زیر را بخوانید.
هاست لینوکس چیست؟
دور اول. یک فایل قابل استفاده برای مبادله ایجاد کنید
sudo fallocate -l 1G /swapfile
اگر Failed Location نصب نشده باشد یا پیام خطایی دریافت کردید که می گوید عملیات پشتیبانی نمی شود (Fallocate Failed: Operation Not Supported)، از دستور زیر برای ایجاد فایل swap استفاده کنید:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
مرحله دوم. دسترسی خواندن و نوشتن به فایل swap را فقط برای کاربر اصلی فراهم کنید
توجه داشته باشید که فقط کاربر root باید بتواند فایل swap را بخواند و بنویسد. برای تنظیم مجوزهای مناسب، دستور زیر را وارد کنید:
sudo chmod 600 /swapfile
سطح سوم. از ابزار استفاده کنید mkswap برای تنظیم فایل به عنوان ناحیه مبادله لینوکس
برای تنظیم یک فایل به عنوان ناحیه مبادله لینوکس، باید از ابزار mkswap استفاده کنید. برای این کار دستور زیر را وارد کنید:
sudo mkswap /swapfile
مرحله چهارم. تعویض را فعال کنید
اکنون با استفاده از دستور زیر swap را فعال کنید:
sudo swapon /swapfile
برای ثبت نام و دائمی کردن تغییر، فایل /etc/fstab را باز کنید و خط زیر را اضافه کنید:
/etc/fstab
/swapfile swap swap defaults 0 0
مرحله پنجم بررسی کنید که آیا swap فعال است یا خیر
برای بررسی فعال بودن 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
با انجام پنج مرحله ذکر شده در بالا، می توانید به راحتی یک فایل swap ایجاد کنید. توجه داشته باشید که کدها باید همانطور که گفته شد به درستی و کامل وارد شوند. در صورت بروز هر گونه مشکل یا خطایی مراحل را از ابتدا با دقت بیشتری ادامه دهید.
نحوه تنظیم مقدار مبادله
Swapness یک ویژگی هسته لینوکس است که تعیین می کند سیستم چند وقت یکبار از فضای مبادله استفاده می کند. مقدار مبادله می تواند بین صفر تا صد باشد. هر چه این مقدار به صفر نزدیکتر باشد، احتمال تعویض هسته بیشتر می شود. هر چه swappiness به 100 نزدیکتر باشد، هسته تمایل بیشتری به استفاده از فضای مبادله دارد.
توجه داشته باشید که مقدار swappiness به طور پیش فرض روی شصت تنظیم شده است. با تایپ دستور زیر می توانید مقدار swapness فعلی را بررسی کنید:
cat /proc/sys/vm/swappiness
60
مقدار مبادله شصت برای اکثر سیستم های لینوکس تقریباً بهینه است. اما به احتمال زیاد، باید مقدار کمتری را برای سرور تولید تنظیم کنید. به عنوان مثال، برای تنظیم مقدار swappiness روی ده، دستور sysctl زیر را اجرا کنید:
sudo sysctl vm.swappiness=10
باید توجه داشته باشید که با راه اندازی مجدد سیستم، این پارامتر از بین می رود. بنابراین، برای ثابت نگه داشتن این پارامتر در راه اندازی مجدد، باید خط زیر را به فایل /etc/sysctl.conf اضافه کنید:
vm.swappiness=10
اوبونتو چیست؟ تمامی ویژگی های این توزیع لینوکس را می توانید در مقاله زیر مطالعه کنید.
اوبونتو چیست؟
نحوه حذف فایل swap
ممکن است گاهی مجبور شوید فایل swap را حذف یا غیرفعال کنید. اگر به دلایلی قصد انجام این کار را دارید، مراحل زیر را دنبال کنید:
دور اول. تعویض را غیرفعال کنید
ابتدا باید swap را با تایپ دستور زیر غیرفعال کنید:
sudo swapoff -v /swapfile
مرحله دوم. حذف ورودی فایل /swapfile پیشفرض swap 0 0 از فایل /etc/fstab
در مرحله بعد، باید ورودی /swapfile swap defaults 0 0 را از فایل /etc/fstab حذف کنید.
سطح سوم. فایل swap واقعی را حذف کنید
در مرحله آخر، فایل swap واقعی را با استفاده از دستور rm حذف کنید:
sudo rm /swapfile
با انجام سه مرحله ذکر شده فایل swap ایجاد شده به راحتی پاک می شود. در صورت بروز هر گونه مشکل یا خطایی از همان ابتدا مراحل را با دقت بیشتری دنبال کنید.


نحوه حذف فایل ها در Swap در سرور لینوکس
نتیجه
در این مقاله نحوه ایجاد و حذف فایل های swap در هاست لینوکس و نحوه تنظیم مقدار swapness را آموزش دادیم. می توانید این مقاله را مرحله به مرحله دنبال کنید و به راحتی فایل swap را برای لینوکس ایجاد کنید. اگر مشکلی پیش آمد، مراحل را از ابتدا دنبال کنید و با دقت بیشتری انجام دهید. اگر با این کار مشکل حل نشد، آن را با پشتیبانی Parse Pack یا در بخش نظرات این مقاله مطرح کنید تا در اسرع وقت علت مشکل کشف شود.
سوالات متداول
1. Swap چیست؟
Swap فضایی در سیستم عامل لینوکس است که باعث می شود کمبود فضای رم در سیستم عامل کمتر به چشم بیاید. زمانی که سیستم عامل فضای رم کافی نداشته باشد و حافظه آن تمام شده باشد، از حافظه swap به عنوان حافظه مجازی استفاده می شود.
2. چند شکل فضای مبادله وجود دارد؟
فضای Swap به دو شکل وجود دارد، فایل swap و پارتیشن swap اختصاصی.
3. Swappiness چیست؟
Swapness یک ویژگی هسته لینوکس است که تعیین می کند سیستم چند وقت یکبار از فضای مبادله استفاده می کند. مقدار swappiness را می توان از 0 تا 100 تنظیم کرد، نزدیک به 0، هسته تا آنجا که ممکن است تعویض نمی شود. همچنین، هر چه مبادله به 100 نزدیکتر باشد، هسته تمایل بیشتری به استفاده از فضای مبادله دارد.
4. آیا می توانیم فایل swap را حذف کنیم؟
بله، اگر به دلایلی می خواهید فایل swap را حذف کنید، می توانید با استفاده از مراحل توضیح داده شده در این مقاله، آن را غیرفعال و حذف کنید.
منبع:
linuxize.com