افزایش swap در لینوکس

یه موقع هایی هست که برای انجام کارهای سنگینتون با کامپیوتر رم کم میارید و نیاز شدیدی به فضای بیشتر دارید، اگر هارد ssd داشتیه باشید شما میتونید ازش کمک بگیرید و فضای نسبتا کوچکی رو از هاردتون به رم قرض بدید (با اون قسمت از هارد مثل رم برخورد خواهد شد) که بتونه روش بنویسه و بخونه، اگر هاردتون ssd نیست اصلا بهش فکر نکنید، چون سرعت خواندن و نوشتن رم خیلی فراتر از هارد دیسکی هست و سیستم شما کند میشه.

در واقع چی روی swap نوشته میشه؟

رم اطلاعاتی رو که به صورت موقت بهشون نیاز نداره یا الویتشون پایین هست رو در این فضای swap مینویسه و در صورت نیاز خیلی سریع بهشون رجوع میکنه و می خونه و اگر دیگه بهشون کاری نداشته باشه پاکشون میکنه، نحوه ذخیره و بازیابی این روند خیلی پیچیده تر از این ۳ خطی که توضیح داده شده هست، برای اطلاعات بیشتر سرچ کنید.

نوعش در اصل یک فایل هست! یعنی تمام مدت داریم روی یک فایل از جنس swap مینویسیم و میخونیم.

حالا بریم ببینیم چطوری میشه اینکارو کرد.

  • در نظر داشته باشید که استفاده هارد ssd به عنوان swap (به علت خواندن و نوشتن متوالی) طول عمر هارد شما رو کاهش میده.

با این ۵ تا دستور به راحتی میتونید swap افزایش دهید یا ایجاد کنید.

گام اول، خاموش کردن swap در صورت وجود داشتن

اگر در حال استفاده از swap هستید باید اول خاموشش کنید تا سیستم ازش موقتا استفاده نکنه تا تنظیمات جدید رو پیاده کنیم.

دستور زیر را وارد کنید:

sudo swapoff -a

گام دوم، ایجاد یا افزایش swap

برای افزایش swap با استفاده از dd سعی میکنیم حجم این فایل رو با داده های صفر پر کنیم!!!

(فرقی نمیکند این فایل از قبل وجود داشته یا برای اولین بار ایجاد میکنید، اگر نباشه این دستور ایجادش میکند) به طور مثال این فایل قبلا ۴ گیگابایت بوده، اما الان میخواهیم به ۸ تا بلوک ۱ گیگابایتی افزایشش بدیم. دستور زیر را وارد کنید:

sudo dd if=/dev/zero of=/swapfile bs=1G count=8

این دستور چند ثانیه طول میکشه تا کارشو انجام بده!

if = آدرس ورودی اطلاعات، که اینجا قراره صفر تولید کنه

of =جایی که باید نوشته بشه

bs = سایز بلاک

count = تعداد بلاک ها

گام سوم، محدود کردن سطح دسترسی

این فایل باید فقط توسط root قابل خواندن و نوشتن باشد، پس در این بین سطح دسترسی فایل رو با دستور زیر تغییر بدید:

sudo chmod 600 /swapfile

گام چهارم، فرمت کردن یا راه اندازی محیط Swap

خب الان حجمش بزرگتر شده ولی تنظیمات درستی برای نوشتن اطلاعات روش رو نداره، باید درستش کنیم.

دستور mkswap اینکارو برای ما میکنه، فقط کافیه بهش آدرس فایل swap رو بدیم.

دستور زیر را وارد کنید:

sudo mkswap /swapfile

گام پنجم، روشن کردن swap

نحوه روشن کردن با خاموش کردن یکمی متفاوته، برای روشن کردنش باید آدرس فایل رو بدید.

با استفاده از دستور swapon.

دستور زیر را وارد کنید:

sudo swapon /swapfile

نیازی به restart نیست.

تبریک، الان صاحب ۸ گیگ فضای کمکی شدید، البته اگر انقدر فضا روی هارد ssd داشته باشید! برای بررسی دستور زیر را بزنید، تا مشخصات آن را ببینید.

sudo swapon --show

توجه داشته باشید که این تنظیمات موقتی هستند، یعنی اگر سیستم شما reboot بشه swap از کار میافته،‌برای این که سیستم همیشه یادش بمونه از اون فضا استفاده کنه باید تو یه فایلی که سیستم عامل همیشه موقع راه اندازی خودش بهش نگاه میکنه آدرس رو بهش یادآوری کنید.

این فایل رو با یک ویرایشگر باز کنید

sudo nano /etc/fstab

آدرس فایل و نوعش رو در آخر فایل بهش اضافه کنید:

/swapfile swap swap defaults 0 0

اگر براتون سوال پیش اومد یا پیشنهاد بهتری برای انجام دادن این روند ها دارید این پایین درمیون بزارید.