یکی دو هفته پیش پست گذاشتم
پس از نصب Raspberry Pi در خود
فعال کردن ZRAM در Raspberry Pi
Raspberry Pi 4 دارای 1، 2، 4 یا 8 گیگابایت رم است. من از مدل 1 گیگابایتی استفاده خواهم کرد، بنابراین لطفاً دستورالعمل ها را بر اساس مدل خود تنظیم کنید. با 1 گیگابایت ZRAM، فایل swap پیش فرض (آهسته!) کمتر مورد استفاده قرار می گیرد. من از این اسکریپت استفاده کردم
دستورالعمل ها در مخزن لینک بالا ارائه شده است. نصب و راه اندازی:
git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.sh
اگر می خواهید پیکربندی را ویرایش کنید:
vi /etc/default/zram-swap
علاوه بر این می توانید با نصب ZRAM را فعال کنید zram-tools
. اگر از این روش استفاده می کنید، حتما تنظیمات را ویرایش کنید در پرونده /etc/default/zramswap
و حدود 1 گیگابایت ZRAM را نصب کنید:
sudo apt install zram-tools
پس از نصب، می توانید آمار ذخیره سازی ZRAM را با دستور زیر مشاهده کنید:
sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 265472 5
pi@raspberrypi:~ $
افزودن پارامترهای هسته برای استفاده بهتر از ZRAM
حال بیایید رفتار سیستم را زمانی که Raspberry Pi در آخرین لحظه به تعویض سوئیچ میکند، اصلاح کنیم، که اغلب منجر به یخ زدن میشود. بیایید چند خط به فایل اضافه کنیم /etc/sysctl.conf و راه اندازی مجدد
این خطوط 1) فرسودگی اجتناب ناپذیر حافظه را به تاخیر می اندازد، افزایش فشار روی حافظه پنهان هسته و 2) آنها زودتر آماده شدن برای فرسودگی حافظه را آغاز می کنند، از قبل مبادله را آغاز کنید. اما تعویض حافظه فشرده از طریق ZRAM بسیار کارآمدتر خواهد بود!
در اینجا خطوطی هستند که باید در انتهای فایل اضافه کنید /etc/sysctl.conf:
vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50
سپس سیستم را ریبوت می کنیم یا با دستور زیر تغییرات را فعال می کنیم:
sudo sysctl --system
vm.vfs_cache_pressure=500 فشار حافظه پنهان را افزایش می دهد، که تمایل هسته را برای بازیابی حافظه مورد استفاده برای ذخیره دایرکتوری و فهرست بندی اشیاء افزایش می دهد. برای مدت زمان طولانی تری از حافظه کمتری استفاده خواهید کرد. افت شدید عملکرد با مبادله قبلی خنثی می شود.
vm.swappiness = 100 پارامتر را افزایش می دهد که هسته با چه شدتی صفحات حافظه را تعویض می کند، زیرا ابتدا از ZRAM استفاده می کنیم.
vm.dirty_background_ratio=1 و vm.dirty_ratio=50 - فرآیندهای پسزمینه بلافاصله پس از رسیدن به حد 1% شروع به ضبط میکنند، اما سیستم تا زمانی که به نسبت کثیف 50% نرسد، I/O همزمان را مجبور نمیکند.
این چهار خط (هنگامی که با ZRAM استفاده می شود) به بهبود عملکرد کمک می کند به ناچار RAM تمام می شود و مانند من، انتقال به سوآپ آغاز می شود. با دانستن این واقعیت و همچنین با در نظر گرفتن فشرده سازی حافظه در ZRAM به میزان سه برابر، بهتر است این سوآپ را از قبل شروع کنید.
اعمال فشار بر روی حافظه نهان کمک می کند زیرا اساساً به هسته می گوییم: "هی، ببین، من هیچ حافظه اضافی برای استفاده از کش ندارم، بنابراین لطفاً در اسرع وقت از شر آن خلاص شوید و فقط پرکاربردترین/مهم ترین ها را ذخیره کنید. داده ها."
حتی با کاهش حافظه نهان، اگر با گذشت زمان بیشتر حافظه نصب شده اشغال شود، هسته خیلی زودتر شروع به تعویض فرصت طلبانه می کند، به طوری که CPU (فشرده سازی) و تعویض I/O تا آخرین لحظه منتظر نمی ماند و از همه منابع به یکباره استفاده می کند. دیگر خیلی دیر شد. ZRAM از CPU کمی برای فشردهسازی استفاده میکند، اما در اکثر سیستمهایی که مقدار حافظه کمی دارند، تأثیر عملکرد بسیار کمتری نسبت به تعویض بدون ZRAM دارد.
در نتیجه
بیایید دوباره به نتیجه نگاه کنیم:
pi@raspberrypi:~ $ free -h
total used free shared buff/cache available
Mem: 926Mi 471Mi 68Mi 168Mi 385Mi 232Mi
Swap: 1.2Gi 258Mi 999Mi
pi@raspberrypi:~ $ sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 264448 5
264448 در ZRAM تقریبا یک گیگابایت داده فشرده نشده است. همه چیز به ZRAM رفت و هیچ چیز به فایل صفحه بسیار کندتر رفت. خودتان این تنظیمات را امتحان کنید، روی همه مدل های Raspberry Pi کار می کنند. سیستم انجماد غیرقابل استفاده من به سیستمی کاربردی و پایدار تبدیل شده است.
امیدوارم در آینده نزدیک این مقاله را با نتایج تست سیستم قبل و بعد از نصب ZRAM ادامه داده و به روز رسانی کنم. الان فقط برای این وقت ندارم در ضمن، با خیال راحت تست های خود را انجام دهید و در نظرات به من اطلاع دهید. Raspberry Pi 4 یک جانور با این تنظیمات است. لذت ببرید!
در موضوع:
منبع: www.habr.com