เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” Raspberry Pi: เบเบฒเบ™เป€เบžเบตเปˆเบก ZRAM เปเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ kernel

เบชเบญเบ‡เบชเบฒเบกเบญเบฒเบ—เบดเบ”เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบˆเบฑเบ”เบžเบตเบกเบกเบฒ เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™ Pinebook Pro. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ Raspberry Pi 4 เบเบฑเบ‡เบญเบตเบ‡เปƒเบชเปˆ ARM, เบšเบฒเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™. เบ‚เป‰เบญเบเบขเบฒเบเปเบšเปˆเบ‡เบ›เบฑเบ™เป€เบ„เบฑเบ”เบฅเบฑเบšเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰ เปเบฅเบฐเป€เบšเบดเปˆเบ‡เบงเปˆเบฒเป€เบˆเบปเป‰เบฒเบ›เบฐเบชเบปเบšเบเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ”เบฝเบงเบเบฑเบ™เบšเป.

เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡ Raspberry Pi เปƒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹ เบซเป‰เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบฎเบทเบญเบ™ เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เบชเบฑเบ‡โ€‹เป€เบเบ”โ€‹เป€เบซเบฑเบ™โ€‹เบงเปˆเบฒโ€‹เปƒเบ™โ€‹เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ‚เบฒเบ”โ€‹เปเบ„เบ™ RAM เบกเบฑเบ™โ€‹เป„เบ”เป‰โ€‹เบเบฒเบโ€‹เป€เบ›เบฑเบ™โ€‹เบšเปเปˆโ€‹เบ•เบญเบšโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เบซเบผเบฒเบโ€‹เปเบฅเบฐโ€‹เปเบกเปˆเบ™โ€‹เปเบ•เปˆ frozeโ€‹. เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบžเบตเปˆเบก ZRAM เปเบฅเบฐเป€เบฎเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบเบ•เปเปˆเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ kernel.

เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰ ZRAM เปƒเบ™ Raspberry Pi

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” Raspberry Pi: เบเบฒเบ™เป€เบžเบตเปˆเบก ZRAM เปเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ kernel

ZRAM เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบˆเบฑเบ”เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบšเบฅเบฑเบญเบเปƒเบ™ RAM เบŠเบทเปˆ /dev/zram0 (เบซเบผเบท 1, 2, 3, เปเบฅเบฐเบญเบทเปˆเบ™เป†). เบซเบ™เป‰เบฒเบ—เบตเปˆเบ‚เบฝเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เบ–เบทเบเบšเบตเบšเบญเบฑเบ”เปเบฅเบฐเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ. เบญเบฑเบ™เบ™เบตเป‰เบŠเปˆเบงเบเปƒเบซเป‰ I/O เป„เบงเบซเบผเบฒเบ เปเบฅเบฐเบเบฑเบ‡เบ›เปˆเบญเบเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเบณเป‚เบ”เบเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”.

Raspberry Pi 4 เบกเบฒเบžเป‰เบญเบกเบเบฑเบš RAM 1, 2, 4, เบซเบผเบท 8 GB. เบ‚เป‰เบญเบเบˆเบฐเปƒเบŠเป‰เบ•เบปเบงเปเบšเบš 1GB, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฐเบฅเบธเบ™เบฒเบ›เบฑเบšเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ•เบปเบงเปเบšเบšเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ. เบ”เป‰เบงเบ 1 GB ZRAM, เป„เบŸเบฅเปŒ swap เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (เบŠเป‰เบฒ!) เบˆเบฐเบ–เบทเบเปƒเบŠเป‰เบซเบ™เป‰เบญเบเบฅเบปเบ‡เป€เบฅเบทเป‰เบญเบเป†. เบ‚เป‰เบญเบเปƒเบŠเป‰ script เบ™เบตเป‰ zram-เปเบฅเบเบ›เปˆเบฝเบ™ เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบขเบนเปˆเปƒเบ™ repository เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡. เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡:

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 GB 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:~ $

เบเบฒเบ™เป€เบžเบตเปˆเบกเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต kernel เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒเบ‚เบญเบ‡ ZRAM

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเปเบเป‰เป„เบ‚เบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป€เบกเบทเปˆเบญ Raspberry Pi เบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™ swapping เปƒเบ™เป€เบงเบฅเบฒเบชเบธเบ”เบ—เป‰เบฒเบ, เป€เบŠเบดเปˆเบ‡เบกเบฑเบเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰ freezes. เปƒเบซเป‰เป€เบžเบตเปˆเบกเบชเบญเบ‡เบชเบฒเบกเปเบ–เบงเปƒเบชเปˆเป„เบŸเบฅเปŒ /etc/sysctlconf เปเบฅเบฐเบ›เบดเบ”เป€เบ›เบตเบ”เปƒเปเปˆ.

เบชเบฒเบโ€‹เป€เบซเบผเบปเปˆเบฒโ€‹เบ™เบตเป‰ 1โ€‹) เบˆเบฐโ€‹เบŠเบฑเบโ€‹เบŠเป‰เบฒโ€‹เบเบฒเบ™โ€‹เบชเบนเบ™โ€‹เป€เบชเบโ€‹เบ—เบตเปˆโ€‹เบซเบผเบตเบโ€‹เป€เบงเบฑเป‰เบ™โ€‹เบเบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบŠเบปเบ‡โ€‹เบˆเปเบฒโ€‹, เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบเบปเบ”เบ”เบฑเบ™เปƒเบ™ cache kernel เปเบฅเบฐ 2) เบžเบงเบเป€เบ‚เบปเบฒเป€เบฅเบตเปˆเบกเบเบฐเบเบฝเบกเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเบณเปเบปเบ”เบเปˆเบญเบ™, เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เปเบฅเบเบ›เปˆเบฝเบ™เบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒ. เปเบ•เปˆเบกเบฑเบ™เบˆเบฐเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบ–เบทเบเบšเบตเบšเบญเบฑเบ”เบœเปˆเบฒเบ™ ZRAM!

เบ™เบตเป‰เปเบกเปˆเบ™เป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เป„เบŸเบฅเปŒ /etc/sysctlconf:

vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒ reboot เบฅเบฐเบšเบปเบšเบซเบผเบทเบเบฐเบ•เบธเป‰เบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

sudo sysctl --system

vm.vfs_cache_pressure=500 เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบเบปเบ”เบ”เบฑเบ™เบ‚เบญเบ‡ cache, เป€เบŠเบดเปˆเบ‡เป€เบžเบตเปˆเบกเปเบ™เบงเป‚เบ™เป‰เบกเบ‚เบญเบ‡ kernel เบ—เบตเปˆเบˆเบฐเป€เบญเบปเบฒเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ„เบทเบ™เบกเบฒเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™ cache directory เปเบฅเบฐ index objects. เป€เบˆเบปเป‰เบฒเบˆเบฐเปƒเบŠเป‰เบ„เบงเบฒเบกเบˆเบณเปœเป‰เบญเบเบฅเบปเบ‡เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบเบงเปˆเบฒ. เบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบกเปˆเบ™เบ–เบทเบเบฅเบปเบšเบญเบญเบเป‚เบ”เบเบเบฒเบ™เปเบฅเบเบ›เปˆเบฝเบ™เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰.

vm.swappiness = 100 เป€เบžเบตเปˆเบกเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบงเปˆเบฒ kernel เบˆเบฐเบชเบฐเบซเบผเบฑเบšเปœเป‰เบฒเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเบณเปเบ™เบงเปƒเบ”, เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ ZRAM เบ—เบณเบญเบดเบ”.

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - เบ‚เบฐโ€‹เบšเบงเบ™โ€‹เบเบฒเบ™โ€‹เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹เบˆเบฐโ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เบเบฒเบ™โ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เปƒเบ™โ€‹เบ—เบฑเบ™โ€‹เบ—เบตโ€‹เป€เบกเบทเปˆเบญโ€‹เป€เบ–เบดเบ‡โ€‹เบเปเบฒโ€‹เบ™เบปเบ” 1โ€‹%โ€‹, เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบˆเบฐโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบšเบฑเบ‡โ€‹เบ„เบฑเบš synchronous I/O เบˆเบปเบ™โ€‹เบโ€‹เปˆโ€‹เบงเบฒโ€‹เบกเบฑเบ™โ€‹เป„เบ›โ€‹เป€เบ–เบดเบ‡ 50โ€‹% dirty_ratioโ€‹.

เบชเบตเปˆเป€เบชเบฑเป‰เบ™เบ™เบตเป‰ (เป€เบกเบทเปˆเบญเปƒเบŠเป‰เบเบฑเบš ZRAM) เบˆเบฐเบŠเปˆเบงเบเบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบต เบซเบผเบตเบเบฅเปˆเบฝเบ‡เบšเปเปˆเป„เบ”เป‰ RAM เปเบปเบ” เปเบฅเบฐเบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆเบเบฒเบ™เบชเบฐเบซเบผเบฑเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เป€เบŠเบฑเปˆเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ. เป‚เบ”เบเบฎเบนเป‰เบ„เบงเบฒเบกเบˆเบดเบ‡เบ™เบตเป‰, เปเบฅเบฐเบเบฑเบ‡เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปƒเบ™ ZRAM เบชเบฒเบกเป€เบ—เบทเปˆเบญ, เบกเบฑเบ™เบเปเปˆเบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เปเบฅเบเบ›เปˆเบฝเบ™เบ™เบตเป‰เบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒ.

เบเบฒเบ™เบงเบฒเบ‡เบ„เบงเบฒเบกเบเบปเบ”เบ”เบฑเบ™เปƒเบชเปˆ cache เบˆเบฐเบŠเปˆเบงเบเป„เบ”เป‰เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบšเบญเบ kernel เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, "Hey, เป€เบšเบดเปˆเบ‡, เบ‚เป‰เบญเบเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเปƒเบ”เป†เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบš cache, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฐเบฅเบธเบ™เบฒเบเปเบฒเบˆเบฑเบ”เบกเบฑเบ™เป„เบงเบ—เบตเปˆเบชเบธเบ”เปเบฅเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบฅเบทเป‰เบญเบเป† / เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ‚เปเป‰เบกเบนเบ™."

เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบกเบต caching เบซเบผเบธเบ”เบฅเบปเบ‡, เบ–เป‰เบฒเป€เบงเบฅเบฒเบœเปˆเบฒเบ™เป€เบงเบฅเบฒเบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ–เบทเบเบ„เบญเบšเบ„เบญเบ‡, kernel เบˆเบฐเป€เบฅเบตเปˆเบกเบเบฒเบ™เบ›เปˆเบฝเบ™เป‚เบญเบเบฒเบ”เป„เบงเบซเบผเบฒเบ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™ CPU (เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”) เปเบฅเบฐ swap I/O เบˆเบฐเบšเปเปˆเบฅเปเบ–เป‰เบฒเบˆเบปเบ™เบเปˆเบงเบฒเบ™เบฒเบ—เบตเบชเบธเบ”เบ—เป‰เบฒเบเปเบฅเบฐเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบง. เบกเบฑเบ™เบŠเป‰เบฒเป€เบเบตเบ™เป„เบ›. ZRAM เปƒเบŠเป‰ CPU เบžเบฝเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”, เปเบ•เปˆเปƒเบ™เบฅเบฐเบšเบปเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆเบ—เบตเปˆเบกเบตเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ, เบกเบฑเบ™เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ”เป‰เบฒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบญเบเบเบงเปˆเบฒ swap เบ—เบตเปˆเบšเปเปˆเบกเบต 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 เปเบกเปˆเบ™เป€เบเบทเบญเบšเบซเบ™เบถเปˆเบ‡ gigabyte เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบšเบตเบšเบญเบฑเบ”. เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป„เบ”เป‰เป„เบ›เบซเบฒ ZRAM เปเบฅเบฐเบšเปเปˆเบกเบตเบซเบเบฑเบ‡เป„เบ›เบซเบฒเป„เบŸเบฅเปŒเบซเบ™เป‰เบฒเบ—เบตเปˆเบŠเป‰เบฒเบฅเบปเบ‡เบซเบผเบฒเบ. เบฅเบญเบ‡เปƒเบŠเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ”เป‰เบงเบเบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡, เบžเบงเบเบกเบฑเบ™เปƒเบŠเป‰เป„เบ”เป‰เบเบฑเบšเบ—เบธเบเบฅเบธเป‰เบ™ Raspberry Pi. เบฅเบฐโ€‹เบšเบปเบšโ€‹เบเบฒเบ™โ€‹เปเบŠเปˆโ€‹เปเบ‚เบ‡โ€‹เบ—เบตเปˆโ€‹เปƒเบŠเป‰โ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบ‚เบญเบ‡โ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เบซเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบ—เบตเปˆโ€‹เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เป‚เบซเบเบ”โ€‹เปเบฅเบฐโ€‹เบ„เบงเบฒเบกโ€‹เบซเบกเบฑเป‰เบ™โ€‹เบ„เบปเบ‡โ€‹.

เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เบญเบฑเบ™เปƒเบเป‰เบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบซเบงเบฑเบ‡เบงเปˆเบฒเบˆเบฐเบชเบทเบšเบ•เปเปˆเปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบ”เป‰เบงเบเบšเบฒเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบฅเบฐเบšเบปเบšเบเปˆเบญเบ™เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ ZRAM. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบžเบฝเบ‡เปเบ•เปˆเบšเปเปˆเบกเบตเป€เบงเบฅเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰. เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰, เบฎเบนเป‰เบชเบถเบเบงเปˆเบฒเบšเปเปˆเป€เบชเบเบ„เปˆเบฒเป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡เปเบฅเบฐเปƒเบซเป‰เบ‚เป‰เบญเบเบฎเบนเป‰เปƒเบ™เบ„เปเบฒเป€เบซเบฑเบ™. Raspberry Pi 4 เป€เบ›เบฑเบ™เบชเบฑเบ”เป€เบ”เบเบฅเบฐเบชเบฒเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เบกเปˆเบงเบ™!

เป‚เบ”เบเบซเบปเบงเบ‚เปเป‰:

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™