📄 محتوای کامل
راهاندازی فایل swap در لینوکس
یاد بگیرید که چگونه یک فایل swap در لینوکس تنظیم کنید تا پاسخگویی سرور را افزایش داده و از مشکلات حافظه در اوبونتو، سنت او اس و دبیان جلوگیری کنید.
مواقعی وجود دارد که برای جلوگیری از مشکلات کمبود حافظه، نیاز به افزایش پاسخگویی سرور خود دارید. مشکلات کمبود حافظه زمانی اتفاق میافتد که یک برنامه در حال اجرا روی سرور شما شروع به مصرف مقدار زیادی حافظه میکند. swap به عنوان حافظه مجازی طراحی شده است که از هارد دیسک شما برای ذخیره دادههایی که نمیتوانند در رم نگهداری شوند، استفاده میکند. این آموزش به شما نشان میدهد که چگونه یک فایل swap ایجاد کنید که باید تحت اوبونتو، سنت او اس و دبیان کار کند. این آموزش برای هیچ ISO سفارشی در نظر گرفته نشده است، اما میتوانید آن را دنبال کنید.
۱. مطمئن شوید که Swap وجود ندارد
برای جلوگیری از هرگونه مشکل در طول این آموزش، باید دستور زیر را اجرا کنید تا تأیید کنید که فضای swap در حال حاضر فعال نیست.:
free -m
بعد از اجرای آن دستور، باید چیزی شبیه به این خروجی را ببینید:
total used free shared buffers cached
Mem: 1840 1614 226 15 36 1340
-/+ buffers/cache: 238 1602
Swap: 0 0 0
اگر در بخش Swap مقدار 0 را مشاهده کردید، میتوانید به مرحله ۲ بروید.
روش دیگر، میتوانید دستور زیر را اجرا کنید تا ببینید آیا فایل swap پیکربندی شدهای وجود دارد یا خیر:
swapon -s
اگر هیچ خروجی از swapon,مشاهده نکردید، به مرحله ۲ بروید.
۲. ایجاد فایل Swap
شما باید مکانی را برای فایل خود انتخاب کنید. در این آموزش، فایل در ریشه سرور ذخیره خواهد شد. ما با اجرای دستور زیر یک فایل swap به حجم ۲ گیگابایت ایجاد خواهیم کرد:
dd if=/dev/zero of=/swapfile count=2048 bs=1M
دستور dd خروجی را با فرمتی مشابه زیر تولید میکند:
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 10.5356 s, 204 MB/s
در مرحله بعد، با اجرای دستور زیر، تأیید کنید که فایل در ریشه Vultr VPS شما قرار دارد:
ls / | grep swapfile
اگر فایل swapfile را مشاهده کردید، ادامه دهید.
۳. فایل Swap را فعال کنید
فایلهای swap به طور خودکار شناسایی نمیشوند. ما باید به سرور بگوییم که چگونه فایل را فرمت کند و آن را فعال کند تا بتوان از آن به عنوان یک فایل swap معتبر استفاده کرد. به عنوان یک اقدام امنیتی، مجوزهای swapfile را به گونهای بهروزرسانی کنید که فقط اجازه خواندن/نوشتن (R/W) برای کاربر root و نه کاربر دیگر وجود داشته باشد. دستور زیر را اجرا کنید:
chmod 600 /swapfile
تغییر مجوز را میتوان با اجرای دستور زیر تأیید کرد:
ls -lh /swapfile
شما یک نمایش فایل خواهید دید:
-rw------- 1 root root 2.0G Oct 2 18:47 /swapfile
در مرحله بعد، با اجرای دستور زیر به سرور بگویید که فایل swap را راهاندازی کند:
mkswap /swapfile
پس از اجرا، خروجی زیر را مشاهده خواهید کرد:
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=ff3fc469-9c4b-4913-b653-ec53d6460d0e
اگر همه چیز مانند بالا نشان داده شده است، اکنون آماده رفتن به مرحله بعدی هستید.
سرور مجازی ایتالیا
۴. فعال کردن Swap
پس از آماده شدن فایل شما برای استفاده به عنوان swap، باید آن را با اجرای دستور زیر فعال کنید:
swapon /swapfile
با اجرای مجدد دستور free میتوانید فعال بودن فایل swap را تأیید کنید.
free -m
total used free shared buffers cached
Mem: 1840 1754 86 16 23 1519
-/+ buffers/cache: 210 1630
Swap: 2047 0 2047
اگر Swap چیزی غیر از 0,را نشان دهد، پس شما با موفقیت Swap را تنظیم کردهاید.
۵. فعال کردن Swap در هنگام راهاندازی مجدد
به طور پیشفرض، سرور شما به طور خودکار این فایل swap جدید را فعال نمیکند. برای فعال کردن آن در هنگام بوت، میتوانید فایل /etc/fstab را بهروزرسانی کنید. هر ویرایشگر متنی کافی است. در این مثال، من از nanoاستفاده خواهم کرد.
nano /etc/fstab
خط زیر را در انتهای فایل اضافه کنید:
/swapfile none swap sw 0 0
نحوه گسترش یک فایل swap
اگر یک فایل swap موجود دارید و نیاز به گسترش آن دارید:
- با فرض اینکه فایل swap شما با نام /swapfile,باشد، آن را غیرفعال کنید.
$ sudo swapoff /swapfile
- افزایش اندازه swap. این دستور ۱۰۲۴ بلوک، هر کدام ۱ مگابایت (در مجموع ۱ گیگابایت) از صفر بایت را به انتهای فایل swap موجود اضافه میکند.
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 oflag=append conv=notrunc
- فایل را به یک فایل swap تبدیل کنید.
$ sudo mkswap /swapfile
- فعال کردن قابلیت تعویض
$ sudo swapon /swapfile