ராஸ்பெர்ரி பை செயல்திறன்: ZRAM ஐச் சேர்த்தல் மற்றும் கர்னல் அளவுருக்களை மாற்றுதல்

இரண்டு வாரங்களுக்கு முன்பு நான் பதிவிட்டிருந்தேன் பைன்புக் ப்ரோ விமர்சனம். ராஸ்பெர்ரி பை 4 ARM அடிப்படையிலானது என்பதால், முந்தைய கட்டுரையில் குறிப்பிடப்பட்ட சில மேம்படுத்தல்கள் அதற்கு மிகவும் பொருத்தமானவை. நான் இந்த தந்திரங்களைப் பகிர்ந்து கொள்ள விரும்புகிறேன் மற்றும் அதே செயல்திறன் மேம்பாடுகளை நீங்கள் அனுபவிக்கிறீர்களா என்று பார்க்க விரும்புகிறேன்.

ராஸ்பெர்ரி பை நிறுவிய பின் உங்கள் வீட்டு சர்வர் அறை ரேம் பற்றாக்குறையின் தருணங்களில் அது மிகவும் பதிலளிக்காது மற்றும் உறைந்து போனதை நான் கவனித்தேன். இந்தச் சிக்கலைத் தீர்க்க, நான் ZRAM ஐச் சேர்த்து, கர்னல் அளவுருக்களில் சில மாற்றங்களைச் செய்தேன்.

ராஸ்பெர்ரி பையில் ZRAM ஐ செயல்படுத்துகிறது

ராஸ்பெர்ரி பை செயல்திறன்: ZRAM ஐச் சேர்த்தல் மற்றும் கர்னல் அளவுருக்களை மாற்றுதல்

ZRAM RAM இல் /dev/zram0 (அல்லது 1, 2, 3, முதலியன) என்ற பெயரில் ஒரு தொகுதி சேமிப்பகத்தை உருவாக்குகிறது. அங்கு எழுதப்பட்ட பக்கங்கள் சுருக்கப்பட்டு நினைவகத்தில் சேமிக்கப்படுகின்றன. இது மிக வேகமாக I/O ஐ அனுமதிக்கிறது மற்றும் சுருக்கத்தின் மூலம் நினைவகத்தை விடுவிக்கிறது.

Raspberry Pi 4 ஆனது 1, 2, 4 அல்லது 8 GB RAM உடன் வருகிறது. நான் 1ஜிபி மாடலைப் பயன்படுத்துகிறேன், எனவே உங்கள் மாதிரியின் அடிப்படையில் வழிமுறைகளைச் சரிசெய்யவும். 1 ஜிபி 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 ஜிபி 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% dirty_ratio ஐ அடையும் வரை கணினி ஒத்திசைவான I/O ஐ கட்டாயப்படுத்தாது.

இந்த நான்கு வரிகள் (ZRAM உடன் பயன்படுத்தும் போது) உங்களிடம் இருந்தால் செயல்திறனை மேம்படுத்த உதவும் தவிர்க்க முடியாமல் ரேம் தீர்ந்து, என்னுடையதைப் போலவே ஸ்வாப்பிற்கான மாற்றம் தொடங்குகிறது. இந்த உண்மையை அறிந்து, ZRAM இல் உள்ள நினைவக சுருக்கத்தை மூன்று மடங்கு கணக்கில் எடுத்துக்கொள்வது, இந்த இடமாற்றத்தை முன்கூட்டியே தொடங்குவது நல்லது.

தற்காலிக சேமிப்பில் அழுத்தம் கொடுப்பது உதவுகிறது, ஏனெனில் நாம் முக்கியமாக கர்னலிடம், "ஏய், பார், தற்காலிக சேமிப்பிற்குப் பயன்படுத்த என்னிடம் கூடுதல் நினைவகம் எதுவும் இல்லை, எனவே தயவு செய்து அதை விரைவில் அகற்றிவிட்டு, அடிக்கடி பயன்படுத்தப்படும்/முக்கியமானவற்றை மட்டும் சேமிக்கவும். தகவல்கள்."

கேச்சிங் குறைக்கப்பட்டாலும், காலப்போக்கில் பெரும்பாலான நிறுவப்பட்ட நினைவகம் ஆக்கிரமிக்கப்பட்டால், கர்னல் மிகவும் முன்னதாகவே சந்தர்ப்பவாத மாற்றத்தைத் தொடங்கும், இதனால் CPU (சுருக்கம்) மற்றும் swap 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

கருத்தைச் சேர்