آموزش ساخت و حذف Swap File در لینوکس
در این مقاله میخوانید
Swap File چیست؟ چه کاربردی در لینوکس دارد؟ زمانی که سیستمعامل لینوکس فضای RAM را مصرف کرده و به فضای بیشتری نیاز داشته باشد، حافظه Swap وارد عمل خواهد شد. درواقع، Swap فضایی در سیستمعامل Linux است که باعث میشود کمبود فضای RAM در سیستمعامل کمتر بهچشم بیاید. در این مقاله از سری آموزش لینوکس، قصد داریم نحوه ساخت Swap File در لینوکس را به شما آموزش دهیم؛ پس تا پایان با ما همراه باشید.
خرید سرور لینوکس با حافظه مجازی Swap از پارس پک
شما میتوانید از این مقاله برای مدیریت سرورهای لینوکس خود استفاده کنید و اگر قصد خرید هر یک از سرویسهای لینوکسی پارس پک را دارید، میتوانید با کارشناسان فروش ما در ارتباط باشید. همچنین، شما میتوانید برای اطلاع از تعرفهها و هزینهها به لینکهای زیر مراجعه کنید.
Swap File چیست؟
وقتی حافظه RAM در سیستمعامل لینوکس بسیار درگیر میشود، صفحات غیرفعال به فضای Swap انتقال پیدا میکنند. Swap File بهنوعی حافظهای مجازی برای سیستمعامل Linux است. فضای Swap به دو شکل وجود دارد:
- فایل Swap
- پارتیشن اختصاصی Swap
زمانی که سیستمعامل لینوکس را روی ماشین مجازی اجرا میکنید، پارتیشن Swap دردسترس نخواهد بود و تنها گزینه پیش رو ساخت فایل Swap است.
وقتی تمام حافظه RAM لینوکس اشغال میشود و نمیدانید چگونه کمبود فضای رم را جبران کنید، Swap File وارد عمل میشود تا این مشکل را حل کند. حافظه Swap پارتیشن اختصاصی یا فایل اضافهای است که حداقل یک گیگابایت حافظه RAM را برای جبران کمبود حافظه سیستمعامل لینوکس دراختیارتان قرار میدهد.
نحوه ساخت Swap File در لینوکس
برای ساخت و اضافهکردن Swap تا حجم یک گیگابایت به سرورتان، مراحل زیر را با دقت پیش ببرید. درصورتیکه قصد دارید بهجای یگ گیگابایت از دو گیگابایت فضای 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 user یا کاربر اصلی باید بتواند فایل Swap را بنویسد و بخواند. برای تنظیم مجوزهای مناسب، دستور زیر را وارد کنید:
sudo chmod 600 /swapfile
آشنایی با Swap و نحوه ساخت آن
مرحله سوم. استفاده از ابزار mkswap برای تنظیم فایل بهعنوان ناحیه Linux Swap
برای تنظیم فایل بهعنوان ناحیه Linux Swap، باید از ابزار mkswap استفاده کنید. برای انجام این کار، دستور زیر را وارد کنید:
sudo mkswap /swapfile
مرحله چهارم. فعالکردن Swap
اکنون، 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 بسازید. توجه کنید که کدها باید بهدرستی و بهطورکامل به همان شکل گفتهشده درج شوند. درصورت بروز هرگونه مشکل یا خطا، مراحل را از ابتدا و با دقت بیشتری پیش ببرید.
در لینک زیر 40 تا از مهمترین و پرکاربردترین دستورات لینوکس و نحوه استفاده از آنها را بخوانید.
نحوه تنظیم مقدار Swappiness
Swappiness ویژگی هسته لینوکس است که تعیین میکند سیستم چند مرتبه از فضای Swap استفاده کند. مقدار Swappiness میتواند بین صفر تا صد باشد. هرچه این مقدار به صفر نزدیکتر باشد، هسته تاحدممکن swapping یا همان مبادله را انجام نخواهد داد. هرچه میزان Swappiness به صد نزدیکتر باشد، هسته رغبت بیشتری برای استفاده از فضای مبادله خواهد داشت.
توجه کنید که مقدار Swappiness بهصورت پیشفرض روی شصت تنظیم شده است. با تایپکردن دستور زیر، میتوانید مقدار فعلی Swappiness را بررسی کنید:
cat /proc/sys/vm/swappiness
60
مقدار Swappiness شصت تقریباً برای اکثر سیستمهای Linux میزان مطلوبی است؛ اما بهاحتمال زیاد برای پروداکشن سرورها نیاز است مقدار کمتری تنظیم کنید. برای مثال، بهمنظور تنظیم مقدار Swappiness روی ده، دستور sysctl زیر را اجرا کنید:
sudo sysctl vm.swappiness=10
باید توجه کنید که این پارامتر هنگام ریاستارت و راهاندازی مجدد سیستم از بین میرود؛ ازاینرو، برای ثابت نگهداشتن این پارامتر حتی در مواقع راهاندازی مجدد، باید خط زیر را به فایل /etc/sysctl.conf بیفزایید:
vm.swappiness=10
اوبونتو چیست؟ تمام ویژگیهای این توزیع لینوکس را میتوانید در مقاله زیر بخوانید.
نحوه حذف فایل Swap
ممکن است در مواقعی مجبور شوید فایل Swap را حذف یا غیرفعال کنید. درصورتیکه به هر دلیلی قصد دارید این کار را انجام دهید، مراحل زیر را دنبال کنید:
مرحله اول. غیرفعالکردن Swap
در مرحله اول، باید Swap را با تایپکردن دستور زیر غیرفعال کنید:
sudo swapoff -v /swapfile
مرحله دوم. حذف ورودی فایل /swapfile swap swap defaults 0 0 از فایل /etc/fstab
در مرحله بعد، باید ورودی فایل /swapfile swap swap defaults 0 0 را از فایل /etc/fstab حذف کنید.
مرحله سوم. حذف فایل Swapfile واقعی
در مرحله آخر هم فایل Swapfile واقعی را با استفاده از دستور rm حذف کنید:
sudo rm /swapfile
با اجرای سه مرحله گفتهشده، فایل Swap ساختهشده بهراحتی حذف خواهد شد. درصورت بروز هرگونه مشکل و خطایی، مراحل را با دقت بیشتری از ابتدا دنبال کنید.
آموزش حذف فایل در Swap در سرور لینوکس
جمعبندی
در این مقاله، نحوه ساخت و حذف Swap File در هاست لینوکس و تنظیم مقدار Swappiness را آموزش دادیم. شما میتوانید همراه با این مطلب مرحلهبهمرحله پیش بروید و بهراحتی Swap File برای لینوکس بسازید. درصورت بروز هرگونه مشکل، مراحل را از ابتدا و با دقت بیشتری دنبال کنید. اگر مشکل پیشآمده برطرف نشد، آن را با پشتیبانی پارس پک یا در بخش نظرات همین مطلب مطرح کنید تا در سریعترین زمان ممکن دلیل مشکل یافت شود.
سؤالات متداول
۱. Swap چیست؟
Swap فضایی در سیستمعامل Linux است که باعث میشود کمبود فضای RAM در سیستمعامل کمتر بهچشم بیاید. هنگامی که سیستمعامل فضای RAM کافی ندارد و از حافظه آن استفاده کرده است، حافظه Swap بهعنوان حافظهای مجازی وارد عمل میشود.
۲. فضای Swap به چند شکل وجود دارد؟
فضای Swap به دو شکل فایل Swap و پارتیشن اختصاصی Swap وجود دارد.
۳. Swappiness چیست؟
Swappiness ویژگی هسته لینوکس است که تعیین میکند سیستم چند مرتبه از فضای Swap استفاده کند. مقدار Swappiness میتواند از صفر تا صد تنظیم شود که این مقدار هرچه به صفر نزدیکتر باشد، هسته تاحدممکن swapping را انجام نخواهد داد. همچنین، هرچه میزان Swappiness به صد نزدیکتر شود، هسته رغبت بیشتری برای استفاده از فضای مبادله خواهد داشت.
۴. آیا میتوانیم فایل Swap را حذف کنیم؟
بله، درصورتیکه به هر دلیلی قصد داشته باشید فایل Swap را حذف کنید، با استفاده از مراحل گفتهشده در مقاله حاضر، آن را میتوانید غیرفعال و حذف کنید.