در این مطلب میخواهیم نحوه افزایش حافظه swap را در لینوکس CentOS 7 بررسی کنیم. لینوکس این امکان را دارد که حافظه فیزیکی RAM را به قطعات کوچکتر حافظه با نام page تقسیم کند. در روش موسوم به Swapping، یک page از حافظه میتواند در فضایی از پیش تعیین شده بر روی دیسک سخت کپی شود. این فضا، فضای swap نامیده میشود و برای خالی کردن یک page خاص از حافظه به کار میرود. بنابراین، ترکیب حافظه فیزیکی و فضای swap مقدار فضای حافظهای است که واقعاً در دسترس قرار دارد.
دو دلیل عینی برای Swapping وجود دارد. یکی اینکه، اگر سیستم نیاز به حافظهای فراتر از حافظه فیزیکی پیدا کند، کرنل با page هایی که کمتر از آنها استفاده میشود، افزایش حافظه swap را انجام داده و برای برنامه یا فرآیند، حافظه بیشتری فراهم میکند. دوم اینکه، تعداد قابلتوجهی از page های حافظه که توسط برنامه یا فرآیند در طول فاز اولیه مورد استفاده قرار میگیرند، ممکن است تنها در این مرحله مورد نیاز باشند و بعداً هیچگاه دیگر به کار برده نشوند. سیستم در این حالت میبایست، این page را به حافظه swap تبدیل کند و فضای خالی را در دسترس برنامهها و فرآیند، و یا حتی حافظه موقت دیسک قرار دهد.
دو روش برای افزایش حافظه Swap وجود دارد.
۱) پارتیشن swap
۲) فایل swap
اولین روش: پارتیشن swap
ابتدا با استفاده از فرمان swapon –s بررسی کنید که چقدر فضا برای swap وجود دارد.
بررسی فضای کلی سیستم نیز با استفاده از فرمان free –m انجام میگیرد.
قبل از اینکه جانمایی swap را انجام دهید، فضای در دسترس درایو را نیز با فرمان df –h بررسی کنید.
حالا با استفاده از فرمان زیر، یک پارتیشن برای فضای swap ایجاد کنید.
fdisk /dev/sda
حرف n را برای ایجاد پارتیشن جدید تایپ کنید و سپس Enter بزنید.
حالا باید انتخاب کنید که چه نوعی از پارتیشن (اصلی یا گسترده) میخواهید. در اینجا ما نوع پارتیشن اصلی را انتخاب کرده اید. سپس Enter میزنیم و شماره پارتیشن را نیز مشخص میکنیم.
حالت پیشفرض اولین و آخرین سکتور را انتخاب میکنیم و سپس کلید Enter را میزنیم.
با فشردن کلید p، پارتیشنها را لیست کنید.
با زدن کلید I بر اساس شناسه یا ID پارتیشنها را لیست کنید.
حرف t را فشار دهید تا شناسه پارتیشن را تغییر داده و عدد 82 را برای Linux Swap / So انتخاب کنید.
با زدن کلید p، پارتیشن swap لیست خواهد شد.
برای ذخیره تغیرات، کلید w را بزنید.
حالا با استفاده از فرمان زیر، تنظیم سیستم را بروزرسانی کنید.
partprobe /dev/sda1
فرمان زیر نیز برای فرمتکردن پارتیشنی که ساختهاید، استفاده میشود.
mkswap /dev/sda1
برای فعالکردن حافظه swap داریم:
Swapon /dev/sda1
از این فرمان برای تأیید پارتیشن فعال استفاده کنید.
Cat /proc/swaps
برای اضافهکردن پارتیشن جدید به فایل تنظیمات fstab، فرمان زیر به کمک شما میآید.
Vim /etc/fstab
حالا صفحه fstab را ذخیره کرده و ببندید. سپس نوبت به راهاندازی دوباره سیستم میرسد.
سپ از راهاندازی دوباره سیستم، با استفاده از فرمان cat /proc/swaps، بررسی کنید که آیا پارتیشن جدید در لیست قرار گرفته یا خیر.
دومین روش برای افزایش حافظه swap: استفاده از فایل
در صورتی درایو دیگری در حافظه سیستم وجود نداشته باشد، میتوانید یک فایل برای افزایش حافظه swap ایجاد کنید.
از فرمان زیر برای ایجاد یک فایل swap استفاده کنید و سپس Enter بزنید.
dd if=/dev/zero of=/root/vembuswap bs=1M count=1024
سپس با فرمان ls -l /root/vembuswap وضعیت مجوّز های فایل swap جدید را بررسی کنید.
برای تنظیم مجوّزهای فایل swap میتوانید از فرمان زیر استفاده کنید.
chmod 600 /root/vembuswap
با کمک فرمان زیر، این فایل را تبدیل به فایل swap کنید.
mkswap /root/vembuswap
اکنون با استفاده از فرمان زیر، این فایل swap را که بهتازگی ساختهاید، فعال کنید.
swapon /root/vembuswap
حالا نوبت به اضافهکردن این فایل swap به صفحه fstab با استفاده از فرمان زیر است.
vim /etc/fstab
وقتی این کار را انجام دادید، فایل را ذخیره کرده و ببندید.
اکنون باید دسترسی فایل swap را با فرمان swapon –s و فضای خالی حافظه را نیز با فرمان free –m بررسی کنید.
جمعبندی
مدیریت حافظه swap یکی از مهمترین جنبههای مدیریت سیستمهای سرور است. با طراحی و استفاده مناسب، و همینطور افزایش حافظه swap میتوان خدمات بسیار بهتری به کاربران ارائه داد.