توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کاربرد swap در cpanel
appfile
April 21st, 2017, 15:46
سلام
کاربرد swap چی هست؟
چه فایل هایی توی این بخش ذخیره میشه؟
چرا باید 2 برابر میزان رم سرور رو بهش فضا داد؟
اگر فضا کمتری بدیم چه اتفاقی می افته؟
M.Abooali
April 21st, 2017, 20:51
swap در حقیقت یک بخش از هارد دیسک شما است. که میتواند در قالب یک فایل یا یک پارتیشن باشد (چه لینوکس چه ویندوز) البته در ویندوز از آن به عنوان Virtual Memory یاد می شود.
مقدار آن الزاماً نباید 2 برابر مقدار Ram شما باشد، این تصور اشتباه در اثر درک نادرست از توصیه های سیستم عامل ها می باشد.
مقدار سوآپ هر چقدر بیشتر باشد بهتر است به شرطی که سرعت خواندن و نوشتن دیسک شما در روند بهره برداری از محتویات سوآپ (فایل / پارتیشن) تاخیر ایجاد نکند. در غیر این صورت این تاخیر موجب ایجاد انتظار در Ram شما و کاهش پرفرمنس آن خواهد شد.
اما چرا 2 برابر؟
طبق تجربه و آزمون های صورت گرفته، اگر فرض کنید پرفرمنس 1 گیگ Ram برابر 100 % است. با دو برابر شدن این فضا یعنی اختصاص 2 گیگ رم (فیزیکی) پرفرمنس 200% را خواهید داشت. اما اگر آن 1 گیگ مضاف شما روی دیسک شما باشد به دلیل تاخیر در خواندن و نوشتن بازدهی در حدود 50% یک گیگ Ram واقعی دارد. ضمنا تا حدود 40% هم از پرفرمنس 1 گیگ رم اصلی شما به دلیل انتظار کسر می کند.
حالا اگر سیستم ما 1 گیگ Ram فیزگی و 1 گیگ سوآپ داشته باشد. طبق برآورد فوق پرفرمنس ما 60 + 50 که میشود 110% خواهد بود. خوب ما چون هزینه ای برای خرید سخت افزار نکرده ایم و از 1 گیگ فضای دیسک که از نظر قیمتی بسیار ارزان است (در یک دیسک 2 ترابایت 1 گیگ را در نظر بگیرید) توانسته ایم 10% پرفرمنس Ram خود را افزایش بدهیم.
حالا اگر ما 1 گیگ رم و 2 گیگ سواپ داشته باشیم. هر کدام از سوآپ ها 50% پرفرمنس به ما میدهد در مقابل 40% بابت هر گیگ آن از پرفرمنس Ram فیزیکی از دست می دهیم که باقیمانده آن عدد 20% است. بنابراین پرفرمنس کلی ماحصل ما می شود 20 + 50 + 50 و نتیجه آن 120% است.
همین مثال فوق را برای 3 حساب کنید. روشن است اینجا پرفرمنس شما بابت انتظار پاسخ گیری از 3 گیگ سواپ 120% کاهش خواهد یافت که این یعنی عملکرد Ram شما فیزیکی شما از حالتی که 1 گیگ بوده است هم پاین تر آمده و در عمل چرخه ما دچار نقص می شود هر چند که 150% بابت 3 گیگ سوآپ نصیب ما شده است اما فایده ای ندارد.
خوب این فرمول را شما اگر مبنا قرار بدهید بسته به سرعت خواندن و نوشتن دیسک، بین 2 تا 2.5 برابر 1 گیگابایت رم میتوانید سوآپ داشته باشید تا پرفرمنس بالا باشد و اختلالی هم نباشد. در دیسک های SSD شما تا 3 نیز ممکن است بتوانید بالا بروید.
اما اشتباه بزرگ عموم این است که فکر می کنند Swap باید حتما 2 برابر رم باشد. اما این اشتباه است. معمولا بیش از 8 و در بهترین حالت کیفیت دیسک 12 گیگابایت به swap اختصاص دادن تنها موجب بالاتر رفتن انتظار رم فیزیکی و در نتیجه عملکردی ضعیف تر از نبود آن swap را تجربه خواهید کرد.
پس مقدار آن بین 2 تا 2.5 باشد (بر اساس سرعت خواندن و نوشتن دیسک) و حداکثر 8 تا 12 گیگابایت. یعنی برای یک سرور 128 گیگابایت نیز شما نباید بیش از 12 گیگابایت سوآپ در نظر بگیرید.
البته یک حالت خاص وجود دارد که میان سوآپ را در قالب یک پارتیشن مستقل تعریف می کنند، بعد یک دیسک سخت افزاری جدا انحصاراً به سواپ اختصاص میدهند تا سقف I/O آن برای سواپ باشد. این کار البته از نظر هزینه دیگر منطقی نیست و اگر ظرفیت ارتقا رم در مادربرد باشد عملا این کار اشتباه است و خرید و ارتقا رم فیزیکی پرفرمنس بهتری دارد تا اینکه شما یک دیسک SSD 128 را اختصاص بدهید به سوآپ خود. اما اگر مادربرد ظرفیت نداشته باشد مثل خیلی ها که نهایت تا 32 گیگ ظرفیت دارند آن وقت این اقدام تا محدود 64 توجیخ پذیر است که به آن اگر اشتباه نکنم (درست خاطرم نیست) c***tend می گویند.