ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಕಾರ್ಯಕ್ಷಮತೆ: ZRAM ಅನ್ನು ಸೇರಿಸುವುದು ಮತ್ತು ಕರ್ನಲ್ ನಿಯತಾಂಕಗಳನ್ನು ಬದಲಾಯಿಸುವುದು

ಒಂದೆರಡು ವಾರಗಳ ಹಿಂದೆ ನಾನು ಪೋಸ್ಟ್ ಮಾಡಿದ್ದೆ ಪೈನ್‌ಬುಕ್ ಪ್ರೊ ವಿಮರ್ಶೆ. ರಾಸ್ಪ್ಬೆರಿ ಪೈ 4 ಸಹ ARM-ಆಧಾರಿತವಾಗಿರುವುದರಿಂದ, ಹಿಂದಿನ ಲೇಖನದಲ್ಲಿ ಉಲ್ಲೇಖಿಸಲಾದ ಕೆಲವು ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳು ಇದಕ್ಕೆ ಸಾಕಷ್ಟು ಸೂಕ್ತವಾಗಿದೆ. ನಾನು ಈ ತಂತ್ರಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ ಮತ್ತು ನೀವು ಅದೇ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಣೆಗಳನ್ನು ಅನುಭವಿಸುತ್ತೀರಾ ಎಂದು ನೋಡಲು ಬಯಸುತ್ತೇನೆ.

ನಿಮ್ಮಲ್ಲಿ ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಅನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ ಮನೆಯ ಸರ್ವರ್ ಕೊಠಡಿ RAM ಕೊರತೆಯ ಕ್ಷಣಗಳಲ್ಲಿ ಅದು ತುಂಬಾ ಪ್ರತಿಕ್ರಿಯಿಸುವುದಿಲ್ಲ ಮತ್ತು ಫ್ರೀಜ್ ಆಗುವುದನ್ನು ನಾನು ಗಮನಿಸಿದ್ದೇನೆ. ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು, ನಾನು ZRAM ಅನ್ನು ಸೇರಿಸಿದೆ ಮತ್ತು ಕರ್ನಲ್ ನಿಯತಾಂಕಗಳಿಗೆ ಕೆಲವು ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿದೆ.

ರಾಸ್ಪ್ಬೆರಿ ಪೈನಲ್ಲಿ ZRAM ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತಿದೆ

ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಕಾರ್ಯಕ್ಷಮತೆ: ZRAM ಅನ್ನು ಸೇರಿಸುವುದು ಮತ್ತು ಕರ್ನಲ್ ನಿಯತಾಂಕಗಳನ್ನು ಬದಲಾಯಿಸುವುದು

ZRAM /dev/zram0 (ಅಥವಾ 1, 2, 3, ಇತ್ಯಾದಿ) ಹೆಸರಿನ RAM ನಲ್ಲಿ ಬ್ಲಾಕ್ ಸಂಗ್ರಹಣೆಯನ್ನು ರಚಿಸುತ್ತದೆ. ಅಲ್ಲಿ ಬರೆದ ಪುಟಗಳನ್ನು ಸಂಕುಚಿತಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಮೆಮೊರಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ಇದು ಅತ್ಯಂತ ವೇಗದ I/O ಗೆ ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಸಂಕೋಚನದ ಮೂಲಕ ಮೆಮೊರಿಯನ್ನು ಮುಕ್ತಗೊಳಿಸುತ್ತದೆ.

Raspberry Pi 4 1, 2, 4, ಅಥವಾ 8 GB RAM ನೊಂದಿಗೆ ಬರುತ್ತದೆ. ನಾನು 1GB ಮಾದರಿಯನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ, ಆದ್ದರಿಂದ ದಯವಿಟ್ಟು ನಿಮ್ಮ ಮಾದರಿಯನ್ನು ಆಧರಿಸಿ ಸೂಚನೆಗಳನ್ನು ಹೊಂದಿಸಿ. 1 GB ZRAM ನೊಂದಿಗೆ, ಡೀಫಾಲ್ಟ್ ಸ್ವಾಪ್ ಫೈಲ್ (ನಿಧಾನ!) ಅನ್ನು ಕಡಿಮೆ ಬಾರಿ ಬಳಸಲಾಗುತ್ತದೆ. ನಾನು ಈ ಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಿದ್ದೇನೆ 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 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 ಮತ್ತು ರೀಬೂಟ್ ಮಾಡಿ.

ಈ ಸಾಲುಗಳು 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

ZRAM ನಲ್ಲಿ 264448 ಸುಮಾರು ಒಂದು ಗಿಗಾಬೈಟ್ ಸಂಕ್ಷೇಪಿಸದ ಡೇಟಾ. ಎಲ್ಲವೂ ZRAM ಗೆ ಹೋಯಿತು ಮತ್ತು ಹೆಚ್ಚು ನಿಧಾನವಾದ ಪುಟ ಫೈಲ್‌ಗೆ ಏನೂ ಹೋಗಲಿಲ್ಲ. ಈ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನೀವೇ ಪ್ರಯತ್ನಿಸಿ, ಅವು ಎಲ್ಲಾ ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಮಾದರಿಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ನನ್ನ ಬಳಸಲಾಗದ, ಘನೀಕರಿಸುವ ವ್ಯವಸ್ಥೆಯು ಕ್ರಿಯಾತ್ಮಕ ಮತ್ತು ಸ್ಥಿರವಾಗಿ ಮಾರ್ಪಟ್ಟಿದೆ.

ಮುಂದಿನ ದಿನಗಳಲ್ಲಿ, ZRAM ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಮೊದಲು ಮತ್ತು ನಂತರ ಸಿಸ್ಟಮ್ ಅನ್ನು ಪರೀಕ್ಷಿಸುವ ಕೆಲವು ಫಲಿತಾಂಶಗಳೊಂದಿಗೆ ಈ ಲೇಖನವನ್ನು ಮುಂದುವರಿಸಲು ಮತ್ತು ನವೀಕರಿಸಲು ನಾನು ಭಾವಿಸುತ್ತೇನೆ. ಈಗ ನನಗೆ ಇದಕ್ಕಾಗಿ ಸಮಯವಿಲ್ಲ. ಈ ಮಧ್ಯೆ, ನಿಮ್ಮ ಸ್ವಂತ ಪರೀಕ್ಷೆಗಳನ್ನು ನಡೆಸಲು ಮುಕ್ತವಾಗಿರಿ ಮತ್ತು ಕಾಮೆಂಟ್‌ಗಳಲ್ಲಿ ನನಗೆ ತಿಳಿಸಿ. ರಾಸ್ಪ್ಬೆರಿ ಪೈ 4 ಈ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಹೊಂದಿರುವ ಪ್ರಾಣಿಯಾಗಿದೆ. ಆನಂದಿಸಿ!

ವಿಷಯದ ಮೂಲಕ:

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ