Raspberry Pi OS sestřeluje aplikace

Raspberry Pi OS sestřeluje aplikace
« kdy: 17. 12. 2024, 21:02:58 »
Dobry vecer,



mejme Raspberry Pi Zero 2 W, bezi na tom Raspberry OS Bookworm, LXDE-pi a qDslrDashboard pripojenej pres Wi-Fi k fotaku.

Nakolik RPi ma k dispozici jen 417 MB RAMeti, je k dispozici velkej swap (zkousel jsem 2 GB, pak jsem navysil az na 4 GB).

qDD ma patrne nejakej memory leak, kterej se projevi pri delsim behu (treba 8-10 hodin cvakani snimku). Na "rychlost" to nejakej vliv nemelo, mozna to neuvolnuje z pameti stary snimky, ktery uz nejsou a nebudou potreba a je mi wurst, ze si skonci ve swapu...


Vedle qDD jeste bezi jednou a 20 vterin scrot na tipnuti obrazovky RPi a zapis teploty RPi do souboru, obe tyhle veci bezi normalne v lxterminalu (abych mel jistotu, ze jsem je nezapomnel zapnout pri stelovani).


Problem:
neco po treba 8-10 hodinach provozu vyhnije. oba lxterminaly zmizi, Wi-Fi spojeni s fotakem se rozpadne a nevim proc.
 
1) logovani teplot i vytvareni screenshotu mi v nejakej (ne stejnej) cas proste skonci (ne kvuli nedostatku mista na disku). Rano se pripojim na RPi pres VNC a lxterminal proste zmizel.
Posledni zapis teplot do souboru v 2:41, posledni screenshot v 3:11.


2) obcas se rozpada spojeni s fotakem, nevim proc
+ zadne ruseni v lokalite
- jsou to jen pidiantenky
+ kraticka vzdalenost, max metr
- ukazatel signalu rika, ze sotva 60% kdyz dobre
tak jsem z toho jelen a podezirat muzu jak nejakou haluz na RPi, tak nejakou haluz z powerbanky krmici fotak (restart fotaku kvuli powerbance neschopne dodat dost spickovyho proudu?)
v case 3:40 se to uz rozpadlo nadobro a reconnect ani neprobehl.

Cili vsechno se podelalo na skoro minutu presne behem jedne hodiny.


3) dmesg nerika vubec nic (posledni zapisy po bootu a pak tichoucko)


4) journalctl -xe nerika skoro nic, uvede akorat, ze v nejakej cas se rozpadla Wi-Fi, neco jako:
wpa_supplicant[535]: wlan0: ctrl-event-disconnected reason=0 locally_generated=1


Typicky si zarizeni bezi nekde v lese, na louce, a podela se to nekdy kolem treti rano, kdy ja samozrejme spokojene spim doma, takze moznosti ladeni v ten cas jsou docela blbe.


Zlikvidoval jsem veskerej cron, veskere systemd *.timer a packagekitd, jejichzto provoz pri nedostatku pameti byl fakt pruuuser a pri pouhem 2 GB swapu se v logu ukazal oomkiller, kterak se pustil do prace.

Takze ted se tam s jistotou nespousti nic, co by nemelo, v logu oomkiller nikde nefiguruje (nebo spatne koukam, ale procital jsem ho komplet).


Premyslim, jak uchopit nejaky ladeni, kdyz samotnej nastroj tahajici nejaky metriky si nejakou tu pamet proste uzere.


Stran sledovani Wi-Fi bych zrejme potreboval:

1) logovat do souboru ping z RPi na fotak (snad se to nesestreli :-) ), pravda, sikl by se mi ke kazdymu radku i udaj o datu/case (kazdych 3-5 vterin?)

2) logovat do souboru vystup z
iw wlan0 info
taktez kazdy 3 vteriny?


Nojo, jenze ono mi to pak asi ?neco? sestreli, stejne jak je to schopne mi sestrelit ten lxterminal se sledovanim teplot a tipanim screenshotu...

Uvazuju jeste variantu, pustit na tom SNMP a tahat si ty metriky k sobe pres VPN do LibreNMS, snmp samotny moc RAMeti ani dat na prenos nesezere, zejo? -- aspon bych takhle videl, jak se vyviji vyuziti pameti, co ji vyzira, jestli to zacne haprovat v nejakej konkretni moment vyuziti pameti, ....?


Jenze, ono mi to "neco" zrejme sunda i to SNMP :-) takze se obloukem vracime k hlavni otazce, jak muzu zjistit, co mi to sestreluje programy, ackoliv je mista ve swapu k dispozici az na pudu.



Skoda, ze tuhle malou malinu nedelaji s aspon 1 GB pameti, tolikych problemu, ktere bych mozna nemusel resit...


Re:Raspberry Pi OS sestřeluje aplikace
« Odpověď #1 kdy: Dnes v 00:44:02 »
Tak přesně takovou malinu dělali s 1GB RAM, akorát byla větší a jmenuje se to Raspberry Pi 3B, nebo 3B+. Ta by tam dát nešla? rpishop.cz to stále má za 999, ale asi půjde sehnat second-hand levněji.

Jaký přesně Raspberry Pi OS Bookworm tam máte? Když jdu na https://www.raspberrypi.com/software/operating-systems tak který z nich?

Já bych doporučil 32bit (ne 64bit, ten sice pojede, ale má větší spotřebu paměti) a bez desktopu, teda to první Raspberry Pi OS Lite: https://downloads.raspberrypi.com/raspios_lite_armhf/images/raspios_lite_armhf-2024-11-19/2024-11-19-raspios-bookworm-armhf-lite.img.xz

Desktop je nutný?

Co říká cat /sys/kernel/mm/lru_gen/enabled ? Mělo by tam být 0x1. Pomáhá to s OOM a swapem.

Pak ještě pomáhá zapnout zswap, například v /etc/rc.local:


echo 1 > /sys/module/zswap/parameters/enabled
echo 1 > /sys/module/zswap/parameters/same_filled_pages_enabled
echo zstd > /sys/module/zswap/parameters/compressor
echo zsmalloc > /sys/module/zswap/parameters/zpool
echo 25 > /sys/module/zswap/parameters/max_pool_percent
echo 80 > /sys/module/zswap/parameters/accept_threshold_percent
echo 1 > /sys/module/zswap/parameters/exclusive_loads


No a jak se to stává v čase 2-3 v noci, tak to vypadá na nějaký cron? cron.daily? ale který z nich, to nevím

Ještě možná je skutečně problém v OOM? Není třeba SD karta nějaká divná? Hlavně když do ní jde hodně swapu, tak by to mohlo tuhnout na ní. Jakou tam máte? Zkuste tu oficiální Raspberry Pi A2 kartu, i když to A2 se použije až od Raspberry Pi 4. Nebo bez SD karty z USB SSD disku? Tady sice je jen USB2, tak nevím, jestli tam nedat alespoň Raspberry Pi 4.