بلاگ/افزایش حافظه swap در لینوکس CentOS 7
به‌روز شده

افزایش حافظه swap در لینوکس CentOS 7

در این مطلب می‌خواهیم نحوه افزایش حافظه swap را در لینوکس CentOS 7 بررسی کنیم. لینوکس این امکان را دارد که حافظه فیزیکی RAM را به قطعات کوچکتر حافظه با نام page تقسیم کند. در روش موسوم به Swapping، یک page از حافظه می‌تواند در فضایی از پیش تعیین شده بر روی دیسک سخت کپی شود. این فضا، فضای swap...

1399/05/194419 بازدید
افزایش حافظه swap در لینوکس CentOS 7
در این مطلب می‌خواهیم نحوه افزایش حافظه swap را در لینوکس CentOS 7 بررسی کنیم. لینوکس این امکان را دارد که حافظه فیزیکی RAM را به قطعات کوچکتر حافظه با نام page تقسیم کند. در روش موسوم به Swapping، یک page از حافظه می‌تواند در فضایی از پیش تعیین شده بر روی دیسک سخت کپی شود. این فضا، فضای swap نامیده می‌شود و برای خالی‌ کردن یک page خاص از حافظه به کار می‌‌رود. بنابراین، ترکیب حافظه فیزیکی و فضای swap مقدار فضای حافظه‌ای است که واقعاً‌ در دسترس قرار دارد. دو دلیل عینی برای Swapping وجود دارد. یکی اینکه، اگر سیستم نیاز به حافظه‌ای فراتر از حافظه فیزیکی پیدا کند، کرنل با page هایی که کمتر از آنها استفاده می‌شود، افزایش حافظه swap را انجام داده و برای برنامه یا فرآیند، حافظه بیشتری فراهم می‌کند. دوم اینکه، تعداد قابل‌توجهی از page های حافظه که توسط برنامه یا فرآیند در طول فاز اولیه مورد استفاده قرار می‌گیرند، ممکن است تنها در این مرحله مورد نیاز باشند و بعداً هیچ‌گاه دیگر به کار برده نشوند. سیستم در این حالت می‌بایست، این page را به حافظه swap تبدیل کند و فضای خالی را در دسترس برنامه‌ها و فرآیند، و یا حتی حافظه موقت دیسک قرار دهد. دو روش برای افزایش حافظه Swap وجود دارد. ۱) پارتیشن swap ۲) فایل swap

اولین روش: پارتیشن swap

ابتدا با استفاده از فرمان swapon –s بررسی کنید که چقدر فضا برای swap وجود دارد.
مقدار فضای در دسترس برای افزایش حافظه swap
مقدار فضای در دسترس برای افزایش حافظه swap
بررسی فضای کلی سیستم نیز با استفاده از فرمان free –m انجام می‌گیرد.
بررسی کلی فضای سیستم
بررسی کلی فضای سیستم
قبل از اینکه جانمایی swap را انجام دهید، فضای در دسترس درایو را نیز با فرمان df –h بررسی کنید.
بررسی فضای در دسترس درایو
بررسی فضای در دسترس درایو
حالا با استفاده از فرمان زیر، یک پارتیشن برای فضای swap ایجاد کنید.
php
fdisk /dev/sda
ایجاد یک پارتیشن برای افزایش حافظه swap
ایجاد یک پارتیشن برای افزایش حافظه swap
حرف n را برای ایجاد پارتیشن جدید تایپ کنید و سپس Enter بزنید. حالا باید انتخاب کنید که چه نوعی از پارتیشن (اصلی یا گسترده) می‌خواهید. در اینجا ما نوع پارتیشن اصلی را انتخاب کرده اید. سپس Enter می‌زنیم و شماره پارتیشن را نیز مشخص می‌کنیم. حالت پیش‌فرض اولین و آخرین سکتور را انتخاب می‌کنیم و سپس کلید Enter را می‌زنیم. با فشردن کلید p، پارتیشن‌‌ها را لیست کنید.
لیست پارتیشن‌ها
لیست پارتیشن‌ها
با زدن کلید I بر اساس شناسه یا ID پارتیشن‌ها را لیست کنید. حرف t را فشار دهید تا شناسه پارتیشن را تغییر داده و عدد 82 را برای Linux Swap / So انتخاب کنید.
تغییر شناسه پارتیشن swap
تغییر شناسه پارتیشن swap
  با زدن کلید p، پارتیشن swap لیست خواهد شد. برای ذخیره  تغیرات، کلید w را بزنید. حالا با استفاده از فرمان زیر، تنظیم سیستم را بروزرسانی کنید.
php
partprobe /dev/sda1
فرمان زیر نیز برای فرمت‌کردن پارتیشنی که ساخته‌اید، استفاده می‌شود.
php
mkswap /dev/sda1
برای فعال‌کردن حافظه swap داریم:
php
Swapon /dev/sda1
از این فرمان برای تأیید پارتیشن فعال استفاده کنید.
php
Cat /proc/swaps
برای اضافه‌کردن پارتیشن جدید به فایل تنظیمات fstab، فرمان زیر به کمک شما می‌آید.
php
Vim /etc/fstab
حالا صفحه fstab را ذخیره کرده و ببندید. سپس نوبت به راه‌اندازی دوباره سیستم می‌رسد. سپ از راه‌اندازی دوباره سیستم، با استفاده از فرمان cat /proc/swaps، بررسی کنید  که ‌آ‌یا پارتیشن جدید در لیست قرار گرفته یا خیر.

دومین روش برای افزایش حافظه swap: استفاده از فایل

در صورتی درایو دیگری در حافظه سیستم وجود نداشته باشد، می‌توانید یک فایل برای افزایش حافظه swap ایجاد کنید. از فرمان زیر برای ایجاد یک فایل swap استفاده کنید و سپس Enter بزنید.
php
dd if=/dev/zero of=/root/vembuswap bs=1M count=1024
  سپس با فرمان ls -l /root/vembuswap وضعیت مجوّز های فایل swap جدید را بررسی کنید. برای تنظیم مجوّزهای فایل swap می‌توانید از فرمان زیر استفاده کنید.
php
chmod 600 /root/vembuswap
با کمک  فرمان زیر، این فایل را تبدیل به فایل swap کنید.
php
mkswap /root/vembuswap
اکنون با استفاده از فرمان زیر، این فایل swap را که به‌تازگی ساخته‌اید، فعال کنید.
php
swapon /root/vembuswap
حالا نوبت به اضافه‌کردن این فایل swap به صفحه fstab با استفاده از فرمان زیر است.
php
vim /etc/fstab
وقتی این کار را انجام دادید، فایل را ذخیره کرده و ببندید. اکنون باید دسترسی فایل swap را با فرمان swapon –s و فضای خالی حافظه را نیز با فرمان free –m بررسی کنید.

جمع‌بندی

مدیریت حافظه swap یکی از مهمترین جنبه‌های مدیریت سیستم‌های سرور است. با طراحی و استفاده مناسب، و همین‌طور افزایش حافظه swap می‌توان خدمات بسیار بهتری به کاربران ارائه داد.