راهاندازی فایل 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 مقدار ۰ را مشاهده کردید، میتوانید به مرحله ۲ بروید.
روش دیگر، میتوانید دستور زیر را اجرا کنید تا ببینید آیا فایل swap پیکربندی شدهای وجود دارد یا خیر:
swapon -sاگر هیچ خروجی از swapon,مشاهده نکردید، به مرحله ۲ بروید.
۲. ایجاد فایل Swap #
شما باید مکانی را برای فایل خود انتخاب کنید. در این آموزش، فایل در ریشه سرور ذخیره خواهد شد. ما با اجرای دستور زیر یک فایل swap به حجم ۲ گیگابایت ایجاد خواهیم کرد:
dd if=/dev/zero of=/swapfile count=2048 bs=1Mدستور dd خروجی را با فرمتی مشابه زیر تولید میکند:
۲۰۴۸+۰ records in
۲۰۴۸+۰ records out
۲۱۴۷۴۸۳۶۴۸ 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 چیزی غیر از ۰,را نشان دهد، پس شما با موفقیت 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