آموزش افزودن فضای Swap در Rocky Linux
10 دسامبر 2022
خواندن 1 دقیقه
ترلان شاهماری

آموزش افزودن فضای Swap در Rocky Linux

5/5 - (3 امتیاز)

یکی از راه های کاربردی در برابر خطاهای کمبود حافظه در برنامه این است که شما می توانید مقداری فضای swap به سرور خود اضافه کنید. ما در این مقاله، نحوه افزودن فضای swap به سرور راکی لینوکس را توضیح خواهیم داد.

فضای swap چیست؟

Swap در واقع بخشی از فضای ذخیره سازی هارد دیسک است. این فضا برای ذخیره موقت داده هایی به کار می رود که دیگر نمی توانیم در رم ذخیره کنیم و برای سیستم عامل کنار گذاشته شده است. با استفاده از این آن شما می توانید با رعایت برخی نکات، مقدار اطلاعاتی را که سرور می تواند در حافظه کاری شما نگهداری کند، افزایش دهید.

فضای swap روی هارد دیسک عموما زمانی استفاده می شود که دیگر فضای کافی در ram برای نگهداری داده های برنامه در حال استفاده، وجود نداشته باشد. این موضوع را می توان با یک مثال روشن کرد، فرض کنید شما دارای 2 گیگابایت رم در سیستم خود هستید و ناگهان با فرآیندی مواجه می شوید که 3 گیگابایت رم نیاز دارد، ولی حافظه سیستم شما کافی نیست. در این صورت اگر حافظه سیستم در دسترس باشد از swap استفاده می شود.

نکته: اگر فضای swap تخصیص داده نشده باشد، احتمالا سیستم شما به دلیل نشت حافظه از کار می افتد.

در کل، داشتن فضای تعویض به عنوان جایگزین، برای زمانی استفاده می شود که ram سیستم شما تخلیه می شود و می تواند یک شبکه ایمنی خوب در برابر موارد استثنایی خارج از حافظه، در سیستم هایی با فضای ذخیره سازی (غیر از SSD) در دسترس، باشد.

مراحل افزودن فضای Swap در راکی لینوکس

حالا که تا حدودی با فضای ذخیره سازی swap آشنا شدید. در بخش بعدی به مراحل اضافه کردن فضای swap در راکی لینوکس می پردازیم.

مرحله 1: بررسی سیستم برای مشاهده اطلاعات swap

پیش از شروع فرآیند اصلی، می توانیم بررسی کنیم که آیا سیستم از قبل این فضا را در دسترس دارد یا خیر. شما در سیستم ممکن است چندین فایل swap یا پارتیشن داشته باشید، ولی در کل یکی کافی است. با دستور زیر می توانید پی ببرید که آیا در سیستم فضای swap پیکربندی شده است یا خیر:

Interest Swapan --Show

اگر خروجی دریافت کنید، این به این معنا است که فضای swap در دسترس ندارید. همچنین، می توانید با ابزار free تایید کنید در حال حاضر swap فعالی وجود ندارد:

free -h

مرحله 2: بررسی فضای موجود در پارتیشن هارد دیسک

پیش از ایجاد فایل swap، ابتدا فضای ذخیره سازی موجود دیسک را بررسی کنید تا مطمئن شوید فضای کافی در دیسک دارید. می توانید این کار را با دستور زیر انجام دهید:

df -h

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

مرحله 3: ایجاد یک فایل Swap

اکنون با اطلاع از فضای موجود هارد درایو در سیستم فایل، می توانید یک فایل swap در سیستم فایل خود ایجاد کنید. بنابراین، می توانید یک فایل به اندازه دلخواه خود به نام swapfile در دایرکتوری اصلی (/) ایجاد کنید. بهترین راه برای ایجاد یک فایل swap با برنامه fallocate امکان پذیر است. این دستور به راحتی و بلافاصله یک فایل با اندازه مشخص ایجاد می کند.

از آنجایی که در مثال فوق سرور دارای 2 گیگ ram است، فایل ایجاد شده 2 گیگ خواهد بود:

sudo fallocate -l 1G /swapfile

می توانید با تایپ تایید کنید که میزان صحیح رزرو شده است:

ls -lh /swapfile

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

مرحله 4: فعالسازی فایل Swap

حالا که فایلی با مقدار صحیح فضا در اختیار دارید می توانید آن را به فضای swap تبدیل کنید. توجه داشته باشید که در ابتدا مجوزهای فایل را قفل کنید تا فقط کاربرانی که دارای اختیارات root هستند بتوانند محتویات را بخوانند. این کار مانع دسترسی کاربران معمولی به فایل می شود که پیامدهای امنیتی قابل توجهی دارد.

برای انجام این کار و محدود کردن دسترسی، دستور زیر را اجرا کنید:

sudo chmod 600 /swapfile

حال، اعمال تغییرات را با تایپ دستور زیر شناسایی کنید:

ls -lh /swapfilels -lh /swapfile

در نهایت، می توانید فایل را به عنوان فضای swap با دستور زیر علامت گذاری کنید:

sudo mkswap /swapfile

با دستور زیر هم می توانید تایید کنید که swap در حال حاضر در دسترس است:

Interest Swapan --Show

برای بررسی دوباره خروجی و تایید یافته خود می توانید از ابزار free استفاده کنید:

free -h

تا به این قسمت، شما توانستید با موفقیت فایل swap خود را راه اندازی کنید، در نتیجه، سیستم عامل در صورت نیاز می تواند به راحتی از این فضای ذخیره سازی استفاده کند.

مرحله 5: دائمی کردن فایل swap

تغییراتی که به وسیله بخش های پیشین ایجاد کردید، فایل swap را در session فعلی فعال کرده است. با این حال، اگر راه اندازی مجدد انجام دهید، سرور تنظیمات swap را به طور خودکار حفظ نمی کند و تنظیمات از بین می رود. بنابراین، می توان با افزودن فایل swap به فایل etc/fstab/خود، این مورد را تغییر داد.

توجه داشته باشید که حتما یک نسخه پشتیبان از فایل etc/fstab/ برای احتیاط، تهیه کنید:

sudo cp /etc/fstab /etc/fstab.bak

اطلاعات فایل swap را به آخر فایل etc/fstab/ اضافه کرده و دستور زیر را تایپ کنید:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

در ادامه، به بررسی تنظیماتی خواهیم پرداخت که می توانیم با آن بروز رسانی های swap خود را تنظیم کنید.

مرحله 6: انجام دادن تنظیمات swap

گزینه هایی وجود دارد که می توانید پیکره بندی کنید که بر عملکرد سیستم در هنگام انجام فرآیند swap تاثیر می گذارد.

تنظیم ویژگی swappiness

با استفاده از پارامتر swappiness می توانید تنظیم کنید که چند وقت یکبار سیستم شما داده ها را از ram به فضای swap انتقال دهد. این مقدار بین 0 تا 100 پیکربندی می شود که درصدی را نشان می دهد.

در مقادیری که نزدیک به صفر است، هسته داده ها را به دیسک مبادله نمی کند مگر اینکه بسیار ضروری باشد. در نظر داشته باشید که تعامل با فایل swap گران است زیرا بسیار طولانی تر از تعامل با ram است و می توتند بطور قابل توجهی باعث کاهش عملکرد شود. پس زیاد به swap تکیه نکنید.

مقادیر نزدیک به 100 نیز داده های بیشتری را در swap قرار می دهد تا فضای ram بیشتری را آزاد نگه دارد. این فرآیند بسته به شرایط شما ممکن است بهتر باشد.

با تایپ دستور زیر می توانید swappiness فعلی را ببینید:

cat /proc/sys/vm/swappiness

برای یک سیستم دسکتاپ، تنظیم swap به 60 مقدار بدی نیست. در یک سرور ممکن است بخواهید آن را به 0 برسانید. در این مثال ما مقدار 10 را تنظیم کرده ایم:

sudo sysctl vm.swappiness=10

می توان از ویرایشگر متن vi در راکی لینوکس استفاده کرد که بسیار قدرتمند است. اما کاربرانی که تجربه کافی ندارند می توانند از ویرایشگر کاربر پسند nano استفاده کنند. پس دستور زیر را بکار گیرید:

sudo dnf install nano

حال برای ویرایش فایل sysctl.conf از nano استفاده کنید:

Sudona no /etc/sysctl. con f

شما می توانید با کلید ctrl+x و تایپ Y فرآیند را ذخیره کرده و به اتمام برسانید.

انجام تنظیمات Cache pressure

مقدار دیگری که امکان دارد تغییر دهید vfs_cache_pressure است. این تنظیم میزان انتخابی را که سیستم برای ذخیره اطلاعات inode و dentry نسبت به سایر داده ها انتخاب می کند، پیکربندی می کند.

این فرآیند بسیار پر هزینه است و به طور مکرر درخواست می شود. بنابراین، ذخیره سازی cache برای سیستم شما کار مفیدی خواهد بود. با پرس و جو مجدد از سیستم فایل proc می توانید مقدار فعلی را مشاهده کنید:

cat /proc/sys/vm/vfs_cache_pressure

پس از پیکربندی، سیستم سریعا اطلاعات inode را از cache پاک می کند.

نتیجه گیری

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

لینک کوتاه مقاله
https://azarsys.com/?p=10959


نویسنده مقاله
مقالات مرتبط
دیدگاه بگذارید