تاریخ امروز۱۴۰۳-۰۲-۲۰

Swap File چیست – آموزش ساخت و حذف Swap File

Swap File چیست و آموزش ساخت و حذف آن چگونه است؟ سواپ فایل فضایی برروی یک هارد درایو یا دیگر دستگاه‌های ذخیره سازی است که برای ذخیره موقت داده‌ها در زمان پر شدن حافظه اصلی سیستم (RAM) استفاده می‌شود.

سواپ فایل این امکان را برای سیستم عامل فراهم می‌آورد تا از فضای هارد دیسک برای شبیه سازی حافظه اضافی استفاده کند. زمانی که سیستم‌عامل لینوکس فضای RAM را مصرف کرده و به فضای بیشتری نیاز داشته باشد، حافظه Swap وارد عمل‌ می‌شود.

در این آموزش قصد داریم به شما نحوه ساخت و حذف Swap فایل را آموزش دهیم. با استفاده از این آموزش، می‌توانید سواپ فایل خود را به طور دقیق تنظیم کنید و به بهترین نحو از حافظه‌ی خود استفاده نمایید. قبل از پرداختن به این آموزش، شما را با مفهوم سواپ فایل و نحوه عملکرد آن آشنا خواهیم کرد.

سواپ فایل چیست

هنگامی که حافظه سیستم کم است، سواپ بخشی از فضای RAM را که یک برنامه غیرفعال از آن استفاده می‌کند، روی هارد دیسک تغییر می‌دهد تا حافظه را برای برنامه‌های دیگر آزاد کند.

ترکیب RAM و Swap File به عنوان حافظه مجازی شناخته می‌شود. استفاده از حافظه مجازی این امکان را برای شما فراهم می‌آورد تا برنامه‌های بیشتری را نسبت به آنچه که تنها در RAM اجرا می شود، اجرا کند.

بیشتر بدانید : نصب محیط گرافیکی در اوبونتو سرور

حافظه مجازی راهی برای استفاده موثرتر از حافظه کامپیوتر است. درواقع، سواپ فضایی در سیستم‌‌عامل است که باعث می‌شود کمبود فضای RAM در سیستم‌عامل کمتر شود.

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

نحوه فعالیت Swap File
نحوه فعالیت Swap File

Swap چگونه کار می‌کند

هنگامی که رم سیستم پر شود، سیستم عامل شروع به انتقال برخی از داده‌ها از RAM به فایل swap می‌کند. این فرآیند paging نامیده می‌شود.

داده‌هایی که به فایل سواپ منتقل می‌شوند همچنان برای سیستم قابل دسترس هستند، اما دسترسی به آن‌ها کندتر خواهد بود، زیرا روی یک هارد دیسک یا سایر دستگاه‌های ذخیره‌سازی کندتر ذخیره می‌شوند.

هنگامی که سیستم نیاز به دسترسی به داده‌هایی دارد که به سواپ فایل منتقل شده‌اند، آن‌ها را از فایل سواپ بازیابی کرده و دوباره در RAM ذخیره می‌کند.

فایل سواپ به عنوان یک فضای ذخیره سازی موقت برای سیستم عامل استفاده می‌شود تا در صورت نیاز داده‌ها را به آن منتقل کند.

بیشتر بدانید : آموزش افزودن دیسک به سرورهای ابری آسیاتک

مقدار فایل سواپ معمولاً توسط سیستم عامل بر اساس میزان حافظه فیزیکی موجود در سیستم تنظیم می‌شود.

به طور کلی، هر چه Swap File بزرگتر باشد، سیستم می‌تواند داده‌های بیشتری را به طور موقت ذخیره کند و احتمال کمی وجود دارد که حافظه آن پر شود.

با این وجود، داشتن یک فایل سواپ بزرگ نیز می‌تواند سیستم را کند نماید، زیرا دسترسی به داده‌ها از فایل سواپ کندتر از دسترسی به داده‌ها از RAM است.

Swap File استاندار پیشنهادی برای RAM

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

Hibernate یک فرآیند نرم‌افزاری است که در زمان خاموش شدن سیستم عامل، محتویات حافظه رم را بصورت پایدار در دیسک ذخیره می‌کند و در زمان روشن شدن سیستم، این محتویات را بازیابی می‌کند تا بتواند سیستم را به حالت قبلی بازگرداند.

در واقع، Hibernate به کاربر اجازه می‌دهد که به صورت پویا بین حالت Standby و Shutdown سوئیچ کند، به طوری که هیچ اطلاعاتی از بین نروند.

مقدار RAMمقدار Swap File بدون Hibernationمقدار Swap File با Hibernation
256MB256MB512MB
512MB512MB1GB
1GB1GB2GB
2GB1GB3GB
3GB2GB5GB
4GB2GB6GB
6GB2GB8GB
8GB3GB11GB

نحوه اضافه کردن Swap File

حال که با نحوه عملکرد و مفهوم سواپ فایل آشنا شدید، همراه ما باشید تا یک فایل سوپ به سرور مجازی اضافه نماییم.

برای افزودن ۱ گیگابایت swap به سرور ابری خود، مراحل زیر را دنبال کنید. در‌صورتی‌که قصد دارید به‌جای یک گیگابایت از مقدار فضای سواپ بیشتری استفاده کنید، می‌توانید مقدار موردنیاز را به جای ۱G جایگزین کنید.

ابتدا فایلی ایجاد کنید که برای سواپ استفاده شود.

sudo fallocate -l 1G /swapfile

در صورتی که با پیام خطایی مبنی‌بر پشتیبانی‌نشدن عملیات مواجه شدید یا اگر faillocate نصب نشده باشد، می‌توانید با استفاده از دستور زیر یک سواپ فایل ایجاد کنید.

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

با توجه به اینکه فقط کاربر root باید قادر به خواندن و نوشتن فایل سواپ باشد، برای تنظیم نوع دسترسی، دستور زیر را اجرا کنید.

sudo chmod 600 /swapfile

با اجرای دستور زیر از ابزار mkswap برای تنظیم فایل به عنوان ناحیه Linux Swap استفاده کنید.

sudo mkswap /swapfile

فعال سازی Swap File

پس از مشخص کردن ناحیه Linux Swap، اکنون با اجرای دستور زیر سواپ را فعال سازی کنید.

sudo swapon /swapfile

برای دائمی کردن تغییر ایجاد شده، فایل /etc/fstab را باز کنید و دستور زیر را اجرا نمایید.

/swapfile swap swap defaults 0 0
اجرای دستورات برای بررسی Swap فعال شده
اجرای دستورات برای بررسی Swap فعال شده

بررسی Swap File فعال شده

برای بررسی فعال بودن سواپ، از دستور swapon استفاده کنید.

sudo swapon --show
NAME      TYPE  SIZE   USED PRIO
/swapfile file 1024M 507.4M   -1

همچنین، می‌توانید با اجرای دستور free فعال بودن را سواپ بررسی کنید.

sudo free -h
              total        used        free      shared  buff/cache   available
Mem:           488M        158M         83M        2.3M        246M        217M
Swap:          1.0G        506M        517M

تنظیم مقدار Swappiness

Swappiness یکی از ویژگی‌های هسته لینوکس است که مشخص می‌کند سیستم چند وقت یکبار از فضای swap استفاده می‌کند و می‌تواند مقداری بین ۰ تا ۱۰۰ داشته باشد.

هرچه این مقدار کم باشد، هسته سعی‌ می‌کند از swap اجتناب کند، در حالی که هر چه میزان Swappiness بالاتر و نزدیک به ۱۰۰ باشد، هسته با شدت بیشتری از فضای مبادله استفاده کند.

مقدار swappiness به صورت پیش‌فرض ۶۰ تنظیم شده است. می‌توانید با اجرای دستور زیر، مقدار swappiness فعلی را بررسی کنید.

cat /proc/sys/vm/swappiness
۶۰

مقدار شصت swappiness برای اکثر سیستم‌ عامل‌های لینوکس مطلوب است.

اما اگر می‌خواهید مقدار Swappiness را به فرض مثال ۱۰ تنظیم کنید، دستور زیر را اجرا نمایید.

sudo sysctl vm.swappiness=10

توجه داشته باشید، این پارامتر با راه‌اندازی مجدد سیستم از بین می‌رود و به حالت پیش فرض تغییر می‌کند، به همین منظور برای ثابت نگه داشتن این پارامتر، دستور زیر را به فایل /etc/sysctl.conf اضافه کنید.

vm.swappiness=10

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

حذف فایل Swap File

اگر به هر دلیلی بخواهید سواپ فایل را غیرفعال و حذف کنید، در ادامه مطلب Swap File چیست، همراه ما باشید.

ابتدا با اجرای دستور زیر، swap را غیرفعال کنید.

sudo swapoff -v /swapfile

اکنون ورودی /swapfile swap swap defaults 0 0 را از فایل /etc/fstab حذف کنید.

در نهایت فایل swapfile را با استفاده از دستور rm حذف کنید.

sudo rm /swapfile
مراحل حذف فایل Swap
مراحل حذف فایل Swap

جمع بندی

swap file ابزار ارزشمندی برای سیستم‌هایی است که حافظه فیزیکی محدودی دارند تا با ارائه حافظه مجازی اضافی در صورت نیاز، به کار خود ادامه دهند. زمانی که سیستم با مشکل کمبود حافظه روبرو می‌شود، فایل swap به عنوان یک جایگزین برای حافظه RAM قابل استفاده است. اندازه و محل فایل swap می‌تواند بر عملکرد سیستم تاثیر بگذارد، اما به طور کلی بهتر است آن را فعال و به درستی پیکربندی کنید تا مطمئن شوید که سیستم حافظه کافی برای مدیریت حجم کاری خود دارد.

اشتراک‌گذاری

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *