рдХрд╛рд╣реА рдЖрдард╡рдбреНрдпрд╛рдВрдкреВрд░реНрд╡реА рдореА рдкреЛрд╕реНрдЯ рдХреЗрд▓реА рд╣реЛрддреА
рдЖрдкрд▓реНрдпрд╛ рдордзреНрдпреЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╡рд░ ZRAM рд╕рдХреНрд░рд┐рдп рдХрд░рдд рдЖрд╣реЗ
Raspberry Pi 4 1, 2, 4, рдХрд┐рдВрд╡рд╛ 8 GB RAM рд╕рд╣ рдпреЗрддреЛ. рдореА 1GB рдореЙрдбреЗрд▓ рд╡рд╛рдкрд░рдгрд╛рд░ рдЖрд╣реЗ, рддреНрдпрд╛рдореБрд│реЗ рдХреГрдкрдпрд╛ рддреБрдордЪреНрдпрд╛ рдореЙрдбреЗрд▓рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕реВрдЪрдирд╛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рд╛. 1 GB ZRAM рд╕рд╣, рдбреАрдлреЙрд▓реНрдЯ рд╕реНрд╡реЕрдк рдлрд╛рдЗрд▓ (рд╕реНрд▓реЛ!) рдХрдореА рд╡реЗрд│рд╛ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдИрд▓. рдореА рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рдкрд░рд▓реА рдЖрд╣реЗ
рд╡рд░ рд▓рд┐рдВрдХ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рд╕реВрдЪрдирд╛ рджрд┐рд▓реНрдпрд╛ рдЖрд╣реЗрдд. рд╕реНрдерд╛рдкрдирд╛:
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:~ $
ZRAM рдЪреНрдпрд╛ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдХрд░реНрдирд▓ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЬреЛрдбрдгреЗ
рдЖрддрд╛ рдЬреЗрд╡реНрд╣рд╛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдХреНрд╖рдгреА рд╕реНрд╡реЕрдкрд┐рдВрдЧрд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рддреЗрд╡реНрд╣рд╛ рд╕рд┐рд╕реНрдЯрдордЪреЗ рд╡рд░реНрддрди рдирд┐рд╢реНрдЪрд┐рдд рдХрд░реВрдпрд╛, рдЬреНрдпрд╛рдореБрд│реЗ рдмрд░реНтАНрдпрд╛рдЪрджрд╛ рдлреНрд░реАрдЭ рд╣реЛрддреЗ. рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдХрд╛рд╣реА рдУрд│реА рдЯрд╛рдХреВ /etc/sysctl.conf рдЖрдгрд┐ рд░реАрдмреВрдЯ рдХрд░рд╛.
рдпрд╛ рдУрд│реА рез) рд╕реНрдореГрддреА рдЪреНрдпрд╛ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рдердХрд╡рд╛ рд╡рд┐рд▓рдВрдм рд╣реЛрдИрд▓, рдХрд░реНрдирд▓ рдХреЕрд╢реЗрд╡рд░ рджрдмрд╛рд╡ рд╡рд╛рдврд╡рдгреЗ рдЖрдгрд┐ 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% рдорд░реНрдпрд╛рджреЗрдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрд▓реНрдпрд╛рд╡рд░ рд▓рдЧреЗрдЪ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рд╕реБрд░реВ рд╣реЛрдИрд▓, рдкрд░рдВрддреБ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ I/O 50% рдЪреНрдпрд╛ dirty_ratio рдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪреЗрдкрд░реНрдпрдВрдд рд╕рд┐рд╕реНрдЯрдо рд╕рдХреНрддреА рдХрд░рдгрд╛рд░ рдирд╛рд╣реА.
рдпрд╛ рдЪрд╛рд░ рдУрд│реА (рдЬреЗрд╡реНрд╣рд╛ 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
ZRAM рдордзреАрд▓ 264448 рдЬрд╡рд│рдЬрд╡рд│ рдПрдХ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдЕрд╕рдВрдкреАрдбрд┐рдд рдбреЗрдЯрд╛ рдЖрд╣реЗ. рд╕рд░реНрд╡ рдХрд╛рд╣реА ZRAM рд╡рд░ рдЧреЗрд▓реЗ рдЖрдгрд┐ рдХрд╛рд╣реАрд╣реА рдЬрд╛рд╕реНрдд рд╣рд│реВ рдкреГрд╖реНрда рдлрд╛рдЗрд▓рд╡рд░ рдЧреЗрд▓реЗ рдирд╛рд╣реА. рдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рд╕реНрд╡рддрдГ рд╡рд╛рдкрд░реВрди рдкрд╣рд╛, рддреЗ рд╕рд░реНрд╡ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдореЙрдбреЗрд▓реНрд╕рд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд. рдорд╛рдЭреА рдирд┐рд░реБрдкрдпреЛрдЧреА, рдЕрддрд┐рд╢реАрдд рдкреНрд░рдгрд╛рд▓реА рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрдгрд┐ рд╕реНрдерд┐рд░ рдкреНрд░рдгрд╛рд▓реАрдордзреНрдпреЗ рдмрджрд▓рд▓реА рдЖрд╣реЗ.
рдирдЬреАрдХрдЪреНрдпрд╛ рднрд╡рд┐рд╖реНрдпрд╛рдд, рдореА ZRAM рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдЖрдгрд┐ рдирдВрддрд░ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдЪрд╛рдЪрдгреАрдЪреНрдпрд╛ рдХрд╛рд╣реА рдкрд░рд┐рдгрд╛рдорд╛рдВрд╕рд╣ рд╣рд╛ рд▓реЗрдЦ рд╕реБрд░реВ рдареЗрд╡рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╢рд╛ рдХрд░рддреЛ. рдЖрддрд╛ рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдпрд╛рд╕рд╛рдареА рд╡реЗрд│ рдирд╛рд╣реА. рджрд░рдореНрдпрд╛рди, рддреБрдордЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдЪрд╛рдЪрдгреНрдпрд╛ рдореЛрдХрд│реНрдпрд╛ рдордирд╛рдиреЗ рдЪрд╛рд▓рд╡рд╛ рдЖрдгрд┐ рдорд▓рд╛ рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рдХрд│рд╡рд╛. рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 рдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрд╕рд╣ рдПрдХ рдкреНрд░рд╛рдгреА рдЖрд╣реЗ. рдЖрдирдВрдж рдШреНрдпрд╛!
рд╡рд┐рд╖рдпрд╛рд╡рд░:
рд▓рд┐рдирдХреНрд╕ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди: рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЬрд╡рд│рдЬрд╡рд│ рдиреЗрд╣рдореАрдЪ рд╕реНрд╡реЕрдк рд╕реНрдкреЗрд╕ рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЕрд╕рддреЗ (2017)рд▓рд┐рдирдХреНрд╕ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди: рдЬрд╡рд│рдЬрд╡рд│ рдиреЗрд╣рдореАрдЪ рд╕реНрд╡реЕрдк рд╕реНрдкреЗрд╕ рд╡рд╛рдврд╡рд╛. рднрд╛рдЧ реи: ZRAM (2020)
рд╕реНрддреНрд░реЛрдд: www.habr.com