نحوهی پیکربندی swappiness در لینوکس
زمانی که یک توزیع لینوکس را نصب میکنیم، یک پارتیشن به فضای swap اختصاص مییابد. این فضا بر روی هارد دیسک شما است که به عنوان حافظهی مجازی در نظر گرفته میشود. هستهی لینوکس از این فضا به منظور حافظهی کمکی RAM سیستم شما استفاده کرده و اجازه میدهد پردازشهایی که نیاز به حافظهی بیشتری دارند از آن استفاده کنند.
swappiness یک مشخصهی هستهی لینوکس است که مشخص میکند چه زمان از فضای swap استفاده شود. در اکثر توزیعهای لینوکس، مقدار پیش فرض این پارامتر برابر ۶۰ است (یعنی زمانی که حدود نصف RAM اشغال شده است، از swap استفاده شود). شما میتوانید بین بازهی ۰ تا ۱۰۰ به آن مقداری اختصاص دهید. هرچه مقدار swappiness بیشتر باشد، میزان استفاده از فضای swap بیشتر میشود. زمانی که مقدار این پارامتر برابر ۰ باشد، تنها در صورتی که تمام RAM اشغال شده باشد از swap استفاده میشود. همچنین، تنظیم مقدار ۱۰۰ برای آن بدان معناست که هر برنامه بلافاصله پس از اجرا از فضای swap استفاده میکند.
با استفاده از دستور زیر میتوان مقدار پارامتر swappiness را مشاهده نمود.
cat /proc/sys/vm/swappiness 60
ما میتوانیم این مقدار را با دستور زیر به سادگی تغییر دهیم و مقدار ۲۰ را به آن اختصاص دهیم؛ یعنی زمانی که میزان مصرف RAM به حدود ۸۰ درصد رسید، آنگاه از فضای swap استفاده نماید.
sudo sysctl vm.swappiness=20
اما این تغییر به صورت موقتی بر روی سیستم ثبت شده و پس از ریستارت، دوباره به مقدار اولیه خود برمیگردد. به منظور ثبت مقدار پارامتر swappiness به صورت دائمی بر روی سیستم، لازم است تا فایل /etc/sysctl.conf را با سطح دسترسی کاربر root باز کرده و خط زیر را به انتهای آن اضافه نماییم.
vm.swappiness=20
پس از اجرای این دستور، باید سیستم خود را ریستارت کنید تا تغییرات اعمال شود. راه دیگر به منظور ثبت تغییرات، بکارگیری دو دستور زیر میباشد که فضای swap را تخلیه کرده و دوباره آن را راه اندازی مینماید تا مقدار ۲۰ به swappiness تخصیص داده شود تا دیگر به ریستارت نیازی نباشد. (پارتیشن swap برای من در اینجا sda7 است.)
sudo swapoff /dev/sda7 sudo swapon /dev/sda7
همچنین با استفاده از دستور زیر میتوان مقدار حافظهی مصرف شده و خالی را بر روی سیستم خود مشاهده نمود.
free -h total used free shared buff/cache available Mem: 5.7G 3.3G 391M 239M 2.1G 2.0G Swap: 8.0G 0B 8.0G
توجه داشته باشید که قرار دادن مقدار ۰ (فعال شدن swap تنها در صورت اشغال کامل RAM) و مقدار ۱ (کمترین حد ممکن) برای swappiness بر روی سیستمهایی که RAM آنها کمتر از ۲ GB میباشد، کار معقولی نیست و ممکن است موجب کند شدن و یا حتی فریز (freeze) شدن سیستم شود. به طور کلی تنظیم این پارامتر به شما بستگی دارد که قصد دارید چگونه میزان استفاده از RAM و swap را بر روی سیستم خود مدیریت کنید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.