در این جلسه به نحوه غیر فعال کردن swap در لینوکس خواهیم، swap یک بخشی از فضای هارد دیسک میباشد که وظیفه آن کمک به رم سختافزاری سرور در مواقع بحرانی است.
اگر تعداد درخواستها به سمت سرور بیش از مقدار پاسخدهی رم تعیین شده باشد سرور دو راه برای حل آن پیش رو خواهد داشت ابتدا آنکه توسط تدابیری این مشکل را حل کرده و لود را کنترل کند و یا به طور کامل سرور از دسترس خارج شود.
وجود پارتیشن swap در لینوکس راهکاری منطقی و مناسب برای سرورهایی است که از رم سختافزاری کافی بهرهمند نیستند، در این موارد با بالا رفتن مصرف رم سرور و رسیدن به آستانه crash پارتیشن swap وارد عمل شده و مقداری از درخواستها بر روی آن بارگذاری میشود.
البته swap هیچگاه به خوبی ram در سرور عمل نخواهد کرد و سرعت به مراتب کمتری هم دارد ولی در موارد اضطراری میتوان کمک خوبی برای ایستایی سرور باشد.
در این آموزش قصد داریم تا به نحوه غیر فعال کردن swap بپردازیم، شاید برایتان سؤال شود اینهمه تعریف از swap کردیم حالا چه لزومی داره تا این پارتیشن رو غیر فعال کنیم، همانطور که در بالا گفتم swap دارای سرعت بسیار کمی نسبت به رم میباشد همین امر میتواند مهمترین دلیل برای غیر فعال کردن آن باشد.
شاید شما به اندازه کافی رم بر روی سرور خود دارید و تعداد پروسههای سرور هرگز نتواند فشاری بر آن وارد کند در اینجور مواقع میتوان با حذف swap فضای هارد بیشتری ر ا بر روی سرور داشت.
در ابتدا قبل از انجام هر کاری باید بررسی کنید که آیا مقدار کافی Ram بر روی سرور شما موجود هست، آیا فضای swap کنونی شما به دلیل کمبود رم وارد مدار نشده و استفاده نشده است. بدین منظور دستور زیر را در محیط ssh وارد کنید. اگر هم با دستورات لینوکس آشنایی ندارید از آموزش دستورات لینوکس می توانید استفاده کنید.
free -h
اگر مقدار used برای swap برابر 0 بود یعنی اینکه سرور شما بدون نیاز به swap فعالیت کرده و شما میتوانید برای غیر فعال کردن swap اقدام کنید. ولی در عکس بالا مقداری از swap توسط سرور استفاده شده است.
در مرحله بعد با زدن دستور زیر پارتیشن مربوط به swap را شناسایی میکنیم. در خطی که TYPE=swap وجود داشت یعنی آن پارتیشن برای swap به صورت رزرو شده درآمده است.
اگر با دستور بالا نتوانستید پارتیشن swap را پیدا کنید میتوانید از دستور زیر برای این کار استفاده کنید.
lsblk
بعد از اینکه توسط دستورات بالا پارتیشن swap را شناسایی کردید میتوانید توسط دستور زیر اقدام به غیر فعال کردن swap در لینوکس centos کنید.
swapoff /dev/mapper/centos-swap
مشخصاً باید به جای /dev/mapper/centos-swap/ باید آدرس پارتیشن خود را جایگزین کنید.
اگر هم بر روی سرور چند پارتیشن swap داشته باشید میتوانید با دستور زیر تمامی swap سرور را غیر فعال کنید
swapoff -a
حال دستور زیر را مجدد وارد کنید، اگر مقدار swap برابر 0 شده بود یعنی به درستی عمل غیر فعال کردن swap در سرور شما انجام شده است.
free -h
اگر هم میخواهید با هر بار ریبوت سرور تغییرات باز نشانی نشوند و swap بر روی سرور شما به صورت دائم غیر فعال شود فایل fstab را با دستور زیر ادیت کنید و خط مربوط به swap را با اضافه کردن علامت # در ابتدای خط غیر فعال کنید.
nano /etc/fstab
خوب به همین راحتی توانستید با غیر فعال کردن swap سرعت سرور را افزایش داده و کندی swap خلاص شوید.