Zram-swap für ar71xx-tiny / 32/4 Geräte

Moin,

ich möchte mit zram auch für 32/4 Geräte experimentieren.

Aktuell habe ich einfach zram-swap in der site.mk unter GLUON_SITE_PACKAGES eingefügt. Das bewirkt natürlich das es für alle targets aktiv ist.

Kann man das eleganter lösen ohne es für jedes Gerät einzeln aufzulisten?

Wie kann ich die Funktion von zram auf den Node testen?
Gibt es schon Erfahrungswerte bzgl. CPU Last, Performanceauswirkung etc?

Das der freie flash dadurch kleiner wird ist mir klar und das nehme ich in Kauf.

Danke euch!

Querverweis zu GH:

1 Like

site.mk:

ifeq ($(GLUON_TARGET),ar71xx-tiny)
	GLUON_SITE_PACKAGES += zram-swap
endif

(Ja, gibt da gewisse Unschärfen bei 8/32- und 4/64-Geräten. Wer die benennen kann: Gern melden.)

2 Likes

Knoten:

dmesg|grep -i zr
[   13.782767] zram: Added device: zram0
[   23.615885] zram0: detected capacity change from 0 to 13631488
[   23.670609] Adding 13308k swap on /dev/zram0.  Priority:-1 extents:1 across:13308k SS

Vergleich:

cat /proc/meminfo
MemTotal:          27692 kB
MemFree:            2012 kB
MemAvailable:       8780 kB
Buffers:            1800 kB
Cached:             4200 kB
SwapCached:            0 kB
Active:             5364 kB
Inactive:           2912 kB
Active(anon):       1124 kB
Inactive(anon):     1216 kB
Active(file):       4240 kB
Inactive(file):     1696 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:         13308 kB
SwapFree:          13248 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          2284 kB
Mapped:             1820 kB
Shmem:                64 kB
Slab:               9768 kB
SReclaimable:       4928 kB
SUnreclaim:         4840 kB
KernelStack:         432 kB
PageTables:          340 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       27152 kB
Committed_AS:       5848 kB
VmallocTotal:    1048372 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
cat /proc/meminfo
MemTotal:          27692 kB
MemFree:            1412 kB
MemAvailable:       7420 kB
Buffers:            1832 kB
Cached:             6352 kB
SwapCached:            0 kB
Active:             7668 kB
Inactive:           3112 kB
Active(anon):       2664 kB
Inactive(anon):       40 kB
Active(file):       5004 kB
Inactive(file):     3072 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          2604 kB
Mapped:             2036 kB
Shmem:               108 kB
Slab:               6300 kB
SReclaimable:       1492 kB
SUnreclaim:         4808 kB
KernelStack:         464 kB
PageTables:          380 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       13844 kB
Committed_AS:       6428 kB
VmallocTotal:    1048372 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB

Ersparnis: 1360K

Gemessen wird ohne Mesh Partner mit einem Client via LAN angeschlossen.

Ich habe nun mal das o.g. GH issue durchgearbeitet und da kam man ja zu dem Ergebnis:

Man will zram weil:

  • mehr freier RAM
  • höhere load durch RAM Kompression ist im Grunde nicht vorhanden eher im Gegenteil, da deutlich weniger flash Zugriffe die Load sogar stark senken
  • eigentlich will man das auch für 32/4 Geräte haben, aber man scheut sich dadurch das Image zu vergrößern
  • Mit ZRAM lassen sich OOM reboots in großen Domänen vermindern, das löst das Problem zwar nicht zögert es aber deutlich hinaus

Hab ich was vergessen? Eure Meinungen?

9 Likes

Hört sich für mich als Laie erst Mal interessant an…
…aber wie verhält sich das ganze im Produktiv Betrieb?
Wie weit werden OOM reboots hinausgezögert…?

Nach meinem Gefühl: Die Geräte geraten früher/häufiger unter Load.
Diese bleibt aber dann im Bereich von 1-2 (was bei einem singlecore trotzdem nicht toll ist).
D.h. die Load geht nicht gleich auf 5/10/20 durch die Decke und dann folgende panic-reboot bleibt aus.

Die Load ist häufig hoch, aber die Plasterouter booten seltener durch.

2 Likes

8 Beiträge wurden in ein existierendes Thema verschoben: Gluon auf 4MB Flash Geräten - Wird es bald eng?