فایل swap چیست؟ کاربرد آن در لینوکس چیست؟ زمانی که سیستم عامل لینوکس از فضای رم استفاده کند و به فضای بیشتری نیاز داشته باشد، حافظه Swap وارد عمل می شود. در واقع Swap فضایی در سیستم عامل لینوکس است که باعث می شود کمبود فضای رم در سیستم عامل کمتر به چشم بیاید. در این مقاله از سری آموزش لینوکس، نحوه ایجاد فایل swap در لینوکس را به شما آموزش می دهیم. پس تا انتها همراه ما باشید.
فایل swap چیست؟
زمانی که RAM در سیستم عامل لینوکس بسیار شلوغ است، صفحات غیرفعال برای جابجایی فضا منتقل می شوند. Swap File نوعی حافظه مجازی برای سیستم عامل لینوکس است. فضای مبادله به دو صورت وجود دارد:
- فایل مبادله شده
- پارتیشن Swap ویژه
هنگامی که یک سیستم عامل لینوکس را روی یک ماشین مجازی اجرا می کنید، پارتیشن swap در دسترس نخواهد بود و تنها گزینه ایجاد یک فایل swap است.
آشنایی با Swap و نحوه انجام آن
نحوه ایجاد فایل swap در لینوکس
مراحل زیر را با دقت دنبال کنید تا یک Swap تا 1 گیگابایت به سرور خود ایجاد و اضافه کنید. اگر قصد دارید به جای یک گیگابایت از دو گیگابایت فضای swap استفاده کنید، می توانید 2G را با 1G جایگزین کنید.
چه کسی هاست لینوکس را خریداری می کند و چه مزایایی دارد؟ در مقاله زیر بخوانید.
هاست لینوکس چیست؟
مرحله اول. یک فایل قابل استفاده برای Swap ایجاد کنید
sudo fallocate -l 1G /swapfile
اگر Faillocate نصب نشده باشد یا با پیغام خطایی مبنی بر عدم پشتیبانی از عملیات مواجه شدید (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 ایجاد کنید. توجه داشته باشید که کدها باید به درستی و به صورت کامل وارد شوند. در صورت بروز مشکل یا خطا مراحل را از ابتدا و با دقت بیشتری ادامه دهید.
نحوه تنظیم مقدار Swappiness
Swappiness یک ویژگی هسته لینوکس است که تعیین می کند سیستم چند بار از فضای مبادله استفاده می کند. مقدار swappiness می تواند بین صفر تا صد باشد. هر چه این مقدار به صفر نزدیکتر باشد، هسته تا آنجا که ممکن است تعویض نخواهد شد. هر چه Swappiness به 100 نزدیکتر باشد، هسته تمایل بیشتری به استفاده از فضای مبادله دارد.
توجه داشته باشید که مقدار Swappiness به طور پیش فرض روی شصت تنظیم شده است. با وارد کردن دستور زیر می توانید مقدار Swappiness فعلی را بررسی کنید:
cat /proc/sys/vm/swappiness
60
مقدار Swappiness شصت برای اکثر سیستم های لینوکس بهینه است. اما احتمالاً باید مقدار کمتری را برای سرورهای تولیدی تعیین کنید. به عنوان مثال، برای تنظیم مقدار 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 swap defaults 0 0 را از فایل /etc/fstab حذف کنید.
سطح سوم. Swapfile واقعی را حذف کنید
در مرحله آخر، Swapfile واقعی را با استفاده از دستور rm حذف کنید:
sudo rm /swapfile
با انجام سه مرحله ذکر شده فایل Swap ایجاد شده به راحتی پاک می شود. در صورت بروز هر گونه مشکل یا خطایی از ابتدا مراحل را با دقت بیشتری دنبال کنید.
چگونه یک فایل را در Swap روی سرور لینوکس حذف کنیم
نتیجه
در این مقاله نحوه ایجاد و حذف فایل Swap در هاست لینوکس و تنظیم مقدار Swappiness را به شما آموزش دادیم. می توانید این مقاله را مرحله به مرحله دنبال کنید و به راحتی فایل swap را برای لینوکس ایجاد کنید. اگر مشکلی پیش آمد، مراحل را از ابتدا و با دقت بیشتری دنبال کنید. در صورت رفع نشدن مشکل با پشتیبانی پارس پک یا در قسمت نظرات همین مقاله مطرح کنید تا در اسرع وقت علت مشکل پیدا شود.
سوالات متداول
1. Swap چیست؟
Swap فضایی در سیستم عامل لینوکس است که باعث می شود کمبود فضای رم در سیستم عامل کمتر به چشم بیاید. زمانی که سیستم عامل فضای رم کافی نداشته باشد و حافظه آن تمام شده باشد، حافظه Swap به عنوان حافظه مجازی استفاده می شود.
2. چند شکل فضای Swap وجود دارد؟
فضای Swap به دو شکل وجود دارد، یک فایل swap و یک پارتیشن swap اختصاصی.
3. Swappiness چیست؟
Swappiness یک ویژگی هسته لینوکس است که تعیین می کند سیستم چند بار از فضای مبادله استفاده می کند. مقدار Swappiness را می توان از 0 تا 100 تنظیم کرد، هرچه به 0 نزدیکتر باشد، هسته تا آنجا که ممکن است تعویض نمی کند. همچنین، هر چه Swappiness به 100 نزدیکتر باشد، هسته تمایل بیشتری به استفاده از فضای مبادله دارد.
4. آیا می توانیم فایل swap را حذف کنیم؟
بله، اگر به دلایلی می خواهید فایل Swap را حذف کنید، می توانید با استفاده از مراحل ذکر شده در این مقاله، آن را غیرفعال و حذف کنید.
منبع:
linuxize.com