تعویض Swap روی دیسک است که در صورت پر شدن مقدار حافظه RAM فیزیکی استفاده می شود. وقتی سیستم لینوکس از رم خارج می شود ، صفحات غیرفعال از RAM به فضای Swap منتقل می شوند. فضای Swap می تواند به صورت یک پارتیشن اختصاصی Swap یا یک پرونده Swap ای شکل بگیرد. در بیشتر موارد ، هنگام اجرای لینوکس بر روی یک ماشین مجازی ، یک پارتیشن swap وجود ندارد ، بنابراین تنها گزینه ایجاد فایل swap است. این مقاله بر روی سیستم های لینوکس با Ubuntu 18.04 و CentOS 7 آزمایش شده است ، اما باید با هر توزیع لینوکس دیگر کار کند. با ما در شتابان هاست همراه باشيد.
برای اضافه کردن ۱ گیگابایت Swap به سرور خود ، این مراحل را دنبال کنید. اگر می خواهید به جای ۱ گیگابایت ۲ گیگ اضافه کنید ، ۱G را با ۲G جایگزین کنید.
فایلی را ایجاد کنید که برای Swap استفاده شود:
sudo fallocate -l 1G /swapfile
اگر faillocate نصب نشده است یا اگر پیغام خطایی دارید يا عملیات پشتیبانی نمی شود ، می توانید از دستور زیر برای ایجاد پرونده Swap استفاده کنید:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
فقط کاربر root باید قادر به نوشتن و خواندن پرونده swap باشد. برای تنظیم نوع مجوزهای صحیح:
sudo chmod 600 /swapfile
از ابزار mkswap برای تنظیم پرونده به عنوان منطقه swap Linux استفاده کنید:
sudo mkswap /swapfile
swap را با دستور زیر فعال کنید:
sudo swapon /swapfile
برای ایجاد تغییر ، پرونده / etc / fstab را باز کنید و خط زیر را پیوست کنید:
/swapfile swap swap defaults 0 0
برای تأیید فعال بودن Swap ، از swapon یا دستور رایگان مانند تصویر زیر استفاده کنید:
do 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
Swappiness یک ویژگی هسته لینوکس است که مشخص می کند چند بار سیستم از فضای swap استفاده خواهد کرد. مبادله می تواند یک مقدار بین ۰ تا ۱۰۰ داشته باشد. یک مقدار کم باعث می شود هسته سعی کند از امکان تعویض در هر زمان ممکن جلوگیری کند ، در حالی که یک مقدار بالاتر باعث می شود که هسته از فضای Swap بیشتری استفاده کند.
مقدار پیش فرض swappiness 60 است. می توانید مقدار تایپ جریان فعلی را با تایپ دستور زیر بررسی کنید:
cat /proc/sys/vm/swappiness
۶۰
در حالی که مقدار swappiness 60 برای اکثر سیستم های لینوکس خوب است ، برای سرورهای تولید ، ممکن است شما نیاز به تنظیم مقدار پایین تری داشته باشید.
به عنوان مثال ، برای تنظیم مقدار swappiness بر ۱۰ ، دستور sysctl زیر را اجرا می کنید:
sudo sysctl vm.swappiness=10
برای ثابت ماندن این پارامتر در راه اندازی مجدد ، خط زیر را به پرونده /etc/sysctl.conf اضافه کنید:
vm.swappiness=10
مقدار بهینه Swap بستگی به حجم کار سیستم شما و نحوه استفاده از حافظه دارد. برای یافتن یک مقدار بهینه باید این پارامتر را با افزایش های کوچک تنظیم کنید.
اگر به هر دلیلی می خواهید فایل swap را غیرفعال کنید و حذف کنید ، این مراحل را دنبال کنید:
۱) ابتدا swap را با تایپ کردن غیرفعال کنید:
sudo swapoff -v /swapfile
۲) swap file swap / swapfile swapfile پیش فرض ۰ ۰ را از پرونده / etc / fstab حذف کنید.
۳) در آخر ، پرونده واقعی swapfile را با استفاده از دستور rm حذف کنید:
sudo rm /swapfile
ما را در شتابان هاست دنبال كنيد.