Raspberry Pi-ի կատարումը. ZRAM-ի ավելացում և միջուկի պարամետրերի փոփոխություն

Մի երկու շաբաթ առաջ ես տեղադրել էի Pinebook Pro ակնարկ. Քանի որ Raspberry Pi 4-ը նույնպես հիմնված է ARM-ի վրա, նախորդ հոդվածում նշված որոշ օպտիմալացումներ բավականին հարմար են դրա համար: Ես կցանկանայի կիսվել այս հնարքներով և տեսնել, արդյոք դուք զգո՞ւմ եք աշխատանքի նույն բարելավումները:

Raspberry Pi-ն ձեր մեջ տեղադրելուց հետո տնային սերվերի սենյակ Ես նկատեցի, որ RAM-ի պակասի պահերին այն դառնում է շատ անպատասխան և նույնիսկ սառչում: Այս խնդիրը լուծելու համար ես ավելացրի ZRAM-ը և մի քանի փոփոխություն կատարեցի միջուկի պարամետրերում:

Raspberry Pi-ում ZRAM-ի ակտիվացում

Raspberry Pi-ի կատարումը. ZRAM-ի ավելացում և միջուկի պարամետրերի փոփոխություն

ZRAM ստեղծում է բլոկ հիշողություն RAM-ում /dev/zram0 (կամ 1, 2, 3 և այլն) անունով: Այնտեղ գրված էջերը սեղմվում և պահվում են հիշողության մեջ։ Սա թույլ է տալիս շատ արագ I/O, ինչպես նաև ազատում է հիշողությունը սեղմման միջոցով:

Raspberry Pi 4-ը գալիս է 1, 2, 4 կամ 8 ԳԲ օպերատիվ հիշողությամբ: Ես կօգտագործեմ 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-ի ավելի լավ օգտագործման համար

Հիմա եկեք շտկենք համակարգի վարքագիծը, երբ Raspberry Pi-ն վերջին պահին անցնում է փոխանակման, ինչը հաճախ հանգեցնում է սառեցման: Եկեք մի քանի տող ավելացնենք ֆայլին /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. երջանկություն = 100 մեծացնում է այն պարամետրը, թե որքան ագրեսիվ կերպով միջուկը կփոխանակի հիշողության էջերը, քանի որ մենք նախ օգտագործում ենք ZRAM-ը:

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - ֆոնային գործընթացները կսկսեն գրանցել անմիջապես 1% սահմանաչափը հասնելուց հետո, բայց համակարգը չի ստիպելու համաժամանակյա մուտքի/ելք, մինչև այն հասնի 50% կեղտոտ հարաբերակցության:

Այս չորս տողերը (երբ օգտագործվում են ZRAM-ի հետ) կօգնեն բարելավել աշխատանքը, եթե ունեք անխուսափելիորեն RAM-ը սպառվում է, և սկսվում է փոխանակման անցումը, ինչպես իմը: Իմանալով այս փաստը, ինչպես նաև հաշվի առնելով 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 և ոչինչ չգնաց շատ ավելի դանդաղ էջի ֆայլին: Փորձեք ինքներդ այս կարգավորումները, դրանք աշխատում են Raspberry Pi-ի բոլոր մոդելների վրա: Իմ անօգտագործելի, սառեցման համակարգը վերածվել է ֆունկցիոնալ և կայուն համակարգի։

Մոտ ապագայում, հուսով եմ, որ կշարունակեմ և կթարմացնեմ այս հոդվածը ZRAM-ի տեղադրումից առաջ և հետո համակարգի փորձարկման որոշ արդյունքներով: Հիմա ես պարզապես ժամանակ չունեմ սրա համար: Միևնույն ժամանակ, ազատ զգալ անցկացրեք ձեր սեփական թեստերը և տեղեկացրեք ինձ մեկնաբանություններում: Raspberry Pi 4-ը գազան է այս կարգավորումներով: Վայելե՛ք։

Ին առարկայի:

Source: www.habr.com

Добавить комментарий