در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

SWAP در لینوکس چیست و چه کاری انجام می دهد ؟

در اکثر فرآیند های نصب سیستم عامل لینوکس حتما مشاهده کرده اید که سیستم عامل به شما پیشنهاد می کند که یک پارتیشن به نام SWAP Partition ایجاد کنید. این موضوع شاید برای کاربران ویندوزی که به تازگی با لینوکس آشنا شده اند کمی عجیب و غریب باشد زیرا آنها عادت کرده اند که یک پارتیشن برای سیستم عامل ویندوز ایجاد کنند و از آن استفاده کنند. اما شاید جالب باشد بدانید که سیستم عامل ویندوز هم چنین پارتیشنی دارد اما نه اسم آن SWAP است و نه به عنوان یک پارتیشن شناخته می شود.

چیزی که در لینوکس ما به عنوان SWAP Partition می شناسیم در سیستم عامل ویندوز به عنوان Page File یا Virtual Memory معروف است. قبلا در خصوص اینکه Virtual Memory در ویندوز چیست و چگونه ایجاد می شود در انجمن تخصصی فناوری اطلاعات ایران توضیحاتی داده ایم اما در واقع این ویندوز است که از لینوکس ساختار SWAP را الگو برداری کرده است و در سیستم عامل خود به نام Virtual Memory معرفی می کند .

بنابراین همان کاری که در ویندوز Virtual Memory انجام می دهد ، SWAP Partition در لینوکس انجام می دهد. اما امروز بحث ما لینوکس است و می خواهیم بدانیم که در سیستم عامل لینوکس کاربرد SWAP Partition چیست و چرا ما به SWAP Partition نیاز داریم و در نهایت چقدر می تواند ظرفیت این پارتیشن باشد ؟ اگر به درستی بتوانید به این سئوالات پاسخ بدهید می توانید کارایی سیستم عامل خود را تا حدود زیادی افزایش دهید.

پارتیشن SWAP چیست

جلوگیری از Overflow شدن حافظه RAM سیستم عامل

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

هر نرم افزار جدیدی که اجرا شود می تواند همانند RAM از حافظه SWAP یا فضای SWAP ای که معمولا بر روی هارد دیسک سیستم قرار گرفته است استفاده کند. شاید به نظر برسد که این یک راهکار بسیار خوب برای اضافه کردن حافظه RAM سیستم بدون نیاز به خریدن RAM سخت افزاری برای سیستم است ، اما واقعا به این شکل نیست . حافظه RAM به این دلیل به عنوان حافظه اصلی سیستم عنوان می شود که بسیار سریع است و سخت افزار آن بصورت خاصی برای استفاده شدن به عنوان حافظه اصلی طراحی شده اند .

اما حافظه SWAP Partition بر روی هارد دیسک سیستم قرار می گیرد که سرعت هارد دیسک و RAM اصلا قابل مقایسه نیست. هر چند امروزه استفاده از هارد درایو های SSD با سرعت های بسیار زیاد باعث شده است کارایی SWAP Partition نیز تا حدودی افزایش پیدا کند اما به هر حال هیچوقت نمی تواند جایگزین RAM اصلی و سخت افزاری سیستم شود. توجه کنید که با اینکه ما حافظه SWAP را در لینوکس یا Page File های ویندوز مقایسه کردیم اما از لحاظ فنی این دو با هم تفاوتی های زیادی دارند.

اولویت بندی یا Prioritization

SWAP Partition به شما این امکان را می دهد که برخی از آیتم ها را از درون حافظه RAM خود به درون حافظه هارد دیسک خود منتقل کنید تا فضای لازم برای اجرا کردن سایر برنامه های ضروری تر در حافظه RAM باز شود. در واقع آیتم هایی که کمتر توسط CPU مورد دسترسی قرار می گیرند را می توانیم به داخل SWAP Partition منتقل کنیم. زمانیکه صحبت از استفاده کم یا به ندرت از یک آیتم می شود این استفاده به ندرت به فاکتوری به نام swappiness بر می گردد که این فاکتور در SWAP Partition کاملا قابل پیکربندی است.

زمانیکه عدد swappiness برای یک آیتم بالا باشد به معنی این است که آیتم مورد نظر بیشتر مستعد است که در فضای SWAP قرار بگیرد. اگر عدد مربوط به swappiness کم باشد آیتم مورد نظر کمتر احتمال دارد که در فضای SWAP قرار بگیرد. قابلیت swappiness در واقع یک پارامتر کرنل لینوکس است که فرآیند swap کردن برنامه ها بین سیستم و حافظه RAM را مدیریت می کند ، در واقع ارسال و دریافت فایل ها از و به حافظه Cache سیستم نیز بر عهده این قابلیت است.

قابلیت Swappiness می تواند دارای مقدار عددی بین 0 تا 100 باشد . هر چقدر این عدد پایین تر باشد احتمال اینکه swap نشود بیشتر است و هر چقدر این عدد بیشتر باشد احتمال swap شدن آن بالاتر می رود. مقدار پیشفرض برای آیتم های سیستم عامل عدد 60 است و برای بسیاری از سیستم عامل های دسکتاپ در صورتیکه این عدد به 100 تغییر پیدا کند به شدت کارایی سیستم را تحت تاثیر قرار می دهد.

استفاده از قابلیت Hibernate در سیستم عامل لینوکس

یکی از مهمترین و آخرین کاربردهایی که حافظه یا پارتیشن SWAP دارد امکان انتقال فایل های ما از داخل حافظه RAM به داخل هارد دیسک است ، این قابلیت که ما آن را به عنوان Hibernate چه در سیستم عامل لینوکس و چه در سیستم عامل ویندوز می شناسیم این امکان را می دهد که بعد از اینکه اطلاعات از داخل حافظه RAM به داخل SWAP Partition منتقل شدند بلافاصله همه اطلاعات بعد از روشن شدن مجدد سیستم عامل به داخل RAM بازگردانی و سیستم عامل به حالت قبلی خود برگردد. بدون وجود SWAP Partition در لینوکس امکان Hibernate کردن این سیستم عامل وجود ندارد. ITPRO باشید

نویسنده : محمد نصیری

منبع : جزیره لینوکس و سیستم های متن باز وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#فضای_swap_چیست #swap_partition_چیست #آموزش_ایجاد_پارتیشن_swap_در_لینوکس #swap_چیست #virtual_memory_چیست #آموزش_ایجاد_swap_partition_در_لینوکس #معرفی_فایل_swap #تفاوت_physical_memory_و_virtual_memory #پارتیشن_swap_چیست
2 نظر
مریم مزرعه شاهی

سلام، ممنون از مطلب مفيدتون

ببخشيد سوالم اينه كه اگر ما بخوايم اسكريپتي بنويسيم كه قبل از اينكه swap پر شود، فايل swap جديد را بسازد

(به طور مثال ميخواهيم وقتي 80 درصد swap پرشد فايل swap جديد توسط اسكريپ ساخته شود)

دستور شرطي مورد استفاده در اسكريپت بايد از طريق دستور swap -s قسمت Used را چك كند ؟

محمد نصیری

لطفا از گزینه سئوال بپرسید استفاده کنید سپاسگزارم

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

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