
ابتدا باید با تعریف سختافزاری به نام RAM یا “حافظه موقت” شروع کنیم، این حافظه همانطور که از اسمش پیداست بصورت موقت تا زمانی که جریان الکتریکی متصل باشد، اطلاعات را نگه داری میکند، زمانی که رایانه را خاموش کنید یا راه اندازی مجدد میکنید این حافظه بازنویسی میشود .
نکته قابل توجه این است که هرچه سرعت SDRAM بیشتر باشد، فرایند ها سریعتر اجرا خواهند شد. رم مانند یک Cache عمل میکند، اطلاعات را از هارد دیسک دریافت و در خود ذخیره میکنید . درصورتی دیتا خاصی زیاد مورد استفاده قرار گیرد در رم cache شده و باعث تسریع در عملکرد سیستمعامل میشود .
کرنل لینوکس با مدیریت منابع و اولویت بندی پراسس ها، میتواند پراسس هایی که زمان استفاده از آن ها نزدیک نبوده، پراسس های با اولویت بالا را در رم و پراسس هم با اولویت کمتر را میتواند به حافظه SWAP منتقل کند . یکی از کاربرد های این حافظه در زمان هایی است که فضای رم در حال Overflow شدن و احتمال کرش یا کند شدن پراسس ها باشد مقداری از دیتای کم اولویت را به SWAP که فایل یا پارتیشنی از هارد دیسک است منتقل می کند .
چطور حافظه SWAP را بصورت موقت اضافه کنم ؟
اگر موقع نصب سیستمعامل در بخش پارتیشن بندی، پارتیشنی برای SWAP Area تخصیص نداده باشید الان میتوانید مقداری فضا به سواپ تخصیص بدهید. برای بررسی فضای فعلی SWAP و Memory شما دستورات مختلفی از جمله
- free -h
- top , htop , neofetch
- lsmem
را میتوانید استفاده کنید، اما سوالی که همواره مطرح بوده و است، چه مقدار فضا برای SWAP باید تنظیم کنم ؟ یک گیگ ؟ دو برابر رم ؟ چقدر ؟
پیشنهاد های متفاوتی از سوی کاربران خبره، سرویسدهنده ها یا شرکت ردهت و .. ارائه شده . پیشنهاد اصولی بسته به شرایط سختافزاری و نرمافزاری شما ( میزان رم، لود سیستم، نوع سرویسی که درحال اجرا آن هستید و …) قابل تغییر است . مثلا شما ۸ گیگابایت RAM و یک دیسک SSD دارید، پیشنهاد ما برای کاربر خانگی فضایی در حد ۲ گیگ میباشد اما برای یک سرور تا ۶ گیگ میتوان استفاده کرد .
البته اگر فضای SWAP شما روی یک دیسک SSD مجزا از سیستمعامل باشد باعث کارایی بهتر و کندی کمتری میشود .
اما در عنوان این بخش از مقاله در مورد افزایش موقتی فضای SWAP نوشتیم، بر این کار باید یک فایل ایجاد کنیم. راهکار های مختلفی برای ایجاد فایل با فضای دلخواه وجود دارد از جمله استفاده از کامند ( آچارفرانسه 😀) dd است، از نرم افزار cat یا fallocate نیز میتوانیم استفاده کنیم .
fallocate -l 1G vRAM
dd if=/dev/urandom bs=256M count=4 of=vRAM
فایل ساخته شده درواقع فضایی است که اطلاعات داخل RAM به آن منتقل میشود، برای امنیت آن باید پرمیشن ۶۰۰ و مالک آن را root تنظیم کنید و برای فایل هیچ گروهی تنظیم نکنید.
chmod 600 vRAM
chown root:nogroup vRAM
آماده تبدیل فایل ساده به SWAP File هستیم، کامندی که برای این کار نیاز داریم mkswap است. برای فایل میتوانید label هم تعریف کنیم:
mkswap –label SWAP vRAM
در نهایت با استفاده از کامند swapon -a میتوانیم از آن استفاده کنیم . در نظر داشته باشید که این فضا بصورت موقتی بوده و بعد از راهاندازی مجدد سرور شما، نیاز به اجرای دوباره کامند swapon -a دارد، پیشنهاد میکنیم دائمی شدن آن را در فایل fstab وارد کنید .