рдХреБрдЫ рд╣рдлрд╝реНрддреЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдерд╛
рдЕрдкрдиреЗ рдореЗрдВ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ ZRAM рд╕рдХреНрд░рд┐рдп рдХрд░рдирд╛
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 1, 2, 4 рдпрд╛ 8 рдЬреАрдмреА рд░реИрдо рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рдореИрдВ 1 рдЬреАрдмреА рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реЗрдВред 1 рдЬреАрдмреА 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 рдЬреАрдмреА 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 рдФрд░ рд░реАрдмреВрдЯ рдХрд░реЗрдВред
рдпреЗ рдкрдВрдХреНрддрд┐рдпрд╛рдБ 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% рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рддреБрд░рдВрдд рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреА, рд▓реЗрдХрд┐рди рд╕рд┐рд╕реНрдЯрдо рд╕рд┐рдВрдХреНрд░реЛрдирд╕ I/O рдХреЛ рддрдм рддрдХ рдмрд╛рдзреНрдп рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ 50% рдХреЗ dirty_ratio рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпреЗ рдЪрд╛рд░ рд▓рд╛рдЗрдиреЗрдВ (рдЬрдм ZRAM рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИрдВ) рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреА рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд░реИрдо рдЦрддреНрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рд╕реНрд╡реИрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдореЗрд░реА рддрд░рд╣ред рдЗрд╕ рддрдереНрдп рдХреЛ рдЬрд╛рдирддреЗ рд╣реБрдП, рдФрд░ ZRAM рдореЗрдВ рдореЗрдореЛрд░реА рдХрдореНрдкреНрд░реЗрд╢рди рдХреЛ рддреАрди рдЧреБрдирд╛ рддрдХ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдЗрд╕ рд╕реНрд╡реИрдк рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдХреИрд╢ рдкрд░ рджрдмрд╛рд╡ рдбрд╛рд▓рдиреЗ рд╕реЗ рдорджрдж рдорд┐рд▓рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХрд░реНрдиреЗрд▓ рдХреЛ рдмрддрд╛ рд░рд╣реЗ рд╣реИрдВ, "рдЕрд░реЗ, рджреЗрдЦреЛ, рдореЗрд░реЗ рдкрд╛рд╕ рдХреИрд╢ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдЗрд╕рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдПрдВ рдФрд░ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ/рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ рдбреЗрдЯрд╛ред"
рдХрдо рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рднреА, рдпрджрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реНрдерд╛рдкрд┐рдд рдореЗрдореЛрд░реА рдкрд░ рдХрдмреНрдЬрд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрд░реНрдиреЗрд▓ рдмрд╣реБрдд рдкрд╣рд▓реЗ рд╣реА рдЕрд╡рд╕рд░рд╡рд╛рджреА рд╕реНрд╡реИрдкрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рд╕реАрдкреАрдпреВ (рд╕рдВрдкреАрдбрд╝рди) рдФрд░ рд╕реНрд╡реИрдк I/O рдЕрдВрддрд┐рдо рдорд┐рдирдЯ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ рдпрд╣ рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИред ZRAM рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕реАрдкреАрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд┐рд╕реНрдЯрдо рдкрд░ 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)рд▓рд┐рдирдХреНрд╕ рдкреНрд░рджрд░реНрд╢рди: рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рд╕реНрд╡реИрдк рд╕реНрдерд╛рди рдмрдврд╝рд╛рддрд╛ рд╣реИред рднрд╛рдЧ 2: ZRAM (2020)
рд╕реНрд░реЛрдд: www.habr.com