بلاگ/اضافهکردن فضای فایل Swap به سرور اوبونتو 20.04
بهروز شده
اضافهکردن فضای فایل Swap به سرور اوبونتو 20.04
فایل Swap فضای اضافی نسبت به حافظه رم است که از طریق فضای دیسک سخت جانمایی میشود. در صورتی که حافظه رم به میزان کافی در دسترس نباشد، سیستم قدیمیترین دادهها را به حافظه Swap انتقال میدهد و بنابراین فضا را برای اپلیکیشنهای فعال خالی میکند. درایوهای هارددیسک حتی آنهایی که به صورت solid-state...
1399/11/052355 بازدید
فایل Swap فضای اضافی نسبت به حافظه رم است که از طریق فضای دیسک سخت جانمایی میشود. در صورتی که حافظه رم به میزان کافی در دسترس نباشد، سیستم قدیمیترین دادهها را به حافظه Swap انتقال میدهد و بنابراین فضا را برای اپلیکیشنهای فعال خالی میکند.
درایوهای هارددیسک حتی آنهایی که به صورت solid-state هستند، سرعت پایینتری نسبت به حافظه رم دارند. بنابراین، ضمن طراحی و استفاده از سیستم، جانمایی مقداری از رم با فضای مشخصی از Swap به عنوان پشتیبان ضروری خواهد بود. اندازه بهینه حافظه Swap برابر میزان رم است. در عین حال، گاهی اوقات میتوان آن را تا ۲ برابر نیز درنظر گرفت.
سرورهای مجازی معمولاً عاری از فضای Swap هستند. در سرورهای فیزیکی، این حافظه معمولاً به صورت اتوماتیک تنظیم میشود و در عین حال، میتوان آن را بنابر مقاصدی خاص تغییر داد. در این آموزش قصد داریم که یک فایل Swap به اندازه ۴ گیگابایت ایجاد کنیم.
ساخت فایل Swap
ابتدا یک فایل ایجاد میکنیم و فضا را برای Swap به صورت “از پیش جانمایی” میکنیم.
php
1sudo fallocate -l 4G /swap
ضمناً دسترسی را برای همه کاربران به جز روت به این فایل قطع میکنیم.
php
1sudo chmod 600 /swap
تنظیم ناحیه Swap در فایل
php
1sudo mkswap /swap
خروجی
php
1Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)23no label, UUID=3c2ac0c0-3cc2-4571-b072-5f7d556acc88
با دستور زیر فایل Swap را فعال میکنیم.
php
1sudo swapon /swap
برای فعالسازی آن پس از راهاندازی دوباره سیستم، فایل زیر را باز کنید.
php
1sudo nano /etc/fstab
سپس خط زیر را در انتهای آن اضافه نمایید.
php
1/swap swap swap defaults 0 0
بررسی فایل Swap
برای مشاهده اندازه و فضای مورد استفاده Swap کافی است که فرمان زیر را تایپ کنید.
php
1sudo swapon --show
خروجی
php
1NAME TYPE SIZE USED PRIO23/swap file 4G 0B -2
گزینه دون برای مشاهده حافظه رم و فایل Swap به کار میرود.
Swappiness پارامتری است که به امکان میدهد سطح استفاده از Swap را در سیستم تنظیم کنید. مقادیر بالا از این پارامتر باعث میشود که عملکرد حافظه Swap نسبتاً فعال باشد و این در حالی است که مقادیر کمتر منجر به استفاده حداقلی از آن خواهد شد.
برای مشاهده مقدار کنونی این پارامتر داریم:
php
1cat /proc/sys/vm/swappiness
خروجی
php
160
برای تنظیم مقدار نمونه ۲۰ به روش زیر عمل میکنیم. در عین حال، میتوانید هر یک از اعداد بین صفر تا ۱۰۰ را وارد کنید.
php
1sudo sysctl vm.swappiness=20
برای ذخیره این تنظیم پس از راهاندازی دوباره سیستم، فایل /etc/sysctl.conf را باز کنید و خط زیر را در آن قرار دهید.