RAM-Anzeige im Dashboard stimmt nicht

Started by bamf, November 12, 2025, 05:32:44 PM

Previous topic - Next topic
Today at 01:06:40 PM #15 Last Edit: Today at 01:08:12 PM by Monviech (Cedrik)
opnsense-patch kann immer genutzt werden, es schlägt einfach fehl ohne was zu ändern wenn es nicht kompatibel ist.

Updates überschreiben die patches.

Der commit ist aus einem Fork, den gibt es so nicht im Haupt Repo.
https://github.com/opnsense/core/commit/a49dece

Aber Maurice kannst du schon vertrauen. Ist aber deine Entscheidung. Das sieht sehr low risk aus.
Hardware:
DEC740

Kannst Du einfach so anwenden, ja. Wird dann durch das nächste Update wieder überschrieben.

Das ist nur eine winzige Änderung:
https://github.com/maurice-w/opnsense-core/commit/a49dece

(opnsense-patch nutzt automatisch auch Forks.)

Es liegt aber nicht an mir zu entscheiden, ob man inaktive Pages als frei oder belegt betrachtet. Da kommt man ganz schnell in Grundsatzdiskussionen, ob z. B. großzügig dimensionierter Swap überhaupt noch zeitgemäß ist.

Außerdem würde dann bei allen Usern auf dem Dashboard plötzlich deutlich mehr belegter RAM angezeigt. Welche Diskussionen das auslöst kann man sich vorstellen.

Daher sehe ich von einem Pull Request erstmal ab.
OPNsense virtual machine images
OPNsense aarch64 firmware repository

Commercial support & engineering available. PM for details (en / de).

Bitte nicht nochmal so was wie das Temperatur widget xD
Hardware:
DEC740

Quote from: bamf on Today at 12:49:54 PMDiesen Patch kann ich einfach so anwenden, ohne für zukünftige Updates irgendwas kaputtzumachen? Ich bin da eher vorsichtig :)

Ja, kannst du. Das nächste Update wird ihn einfach wieder überschreiben - entweder mit der vorherigen Version oder evtl. mit der aktualisierten inklusive Patch, falls er in die Release mit aufgenommen wird.

Quote from: bamf on Today at 12:49:54 PMWenn das sinnvoll ist, könnte man das ja mal Upstream einbauen?

Bei Upstream (FreeBSD) liegt kein Problem vor. Der Speicher wird als "inactive" gezählt. Schon immer. Die Frage ist ob das Widget "inactive" als frei oder als belegt anzeigen soll.

Speicherverwaltung in einem modernen Unix ist mehr als "frei" oder "belegt".

FreeBSD kennt die Status

- wired
- active
- laundry
- inactive
- free

Und nach dem Motto "free memory is wasted memory" wird was mal im Cache ist, drin behalten, so lange kein anderer Prozess freien Speicher benötigt.

Sieht z.B. auf meinem TrueNAS CORE so aus wie im Anhang.

Mehr Info zur Ausgabe von top(1): https://klarasystems.com/articles/explaining-top1-on-freebsd/

HTH,
Patrick
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Today at 01:24:59 PM #19 Last Edit: Today at 01:37:50 PM by bamf
Quote from: Maurice on Today at 01:10:21 PMAußerdem würde dann bei allen Usern auf dem Dashboard plötzlich deutlich mehr belegter RAM angezeigt. Welche Diskussionen das auslöst kann man sich vorstellen.

Daher sehe ich von einem Pull Request erstmal ab.

Ich fände das schon sinnvoll. Denn der im tmpfs belegte RAM steht dem System ja definitiv nicht zur Verfügung. Daher finde ich die Anzeige im Widget irreführend. Und /var/log und /var/tmp als tmpfs ist ja nicht unüblich auf der OPNSense.

Quote from: Patrick M. Hausen on Today at 01:15:42 PMBei Upstream (FreeBSD) liegt kein Problem vor. Der Speicher wird als "inactive" gezählt. Schon immer. Die Frage ist ob das Widget "inactive" als frei oder als belegt anzeigen soll.

Achso, ja ich meinte auch eigentlich als fix für das Widget im OPNSense Repo. Nicht upstream bei FreeBSD.

Das sieht schon weitaus näher an der Realität aus, danke :)

Ich stimme dir zu, aber solche Änderungen sind leider ein ganz heikles Thema. Eine Flut von "The latest update eats all my RAM!!!"-Beiträgen wäre garantiert.

Persönlich würde ich sagen: So what. Aber ich bin ja nicht der, der den Backlash dann abbekommen würde, insofern halte ich mich da zurück.
OPNsense virtual machine images
OPNsense aarch64 firmware repository

Commercial support & engineering available. PM for details (en / de).

Naja, widgets haben ja ein configuration modell darunter.

Hier z.b. ein Beispiel vom dnsmasq widget, oder das certificate widget was ich geschrieben habe.

https://github.com/opnsense/core/blob/1d060380a56153f62609be01573b2399a6b4cc70/src/opnsense/www/js/widgets/Certificates.js#L186-L194
https://github.com/opnsense/core/blob/1d060380a56153f62609be01573b2399a6b4cc70/src/opnsense/www/js/widgets/DnsmasqLeases.js#L151-L167

Man könnte das RAM widget auch anpassbar machen, dann kann sich jeder das einstellen was er sehen möchte.

PRs welcome :)

Hardware:
DEC740

Quote from: Monviech (Cedrik) on Today at 02:05:09 PMMan könnte das RAM widget auch anpassbar machen, dann kann sich jeder das einstellen was er sehen möchte.

Das wäre natürlich sehr cool.

Grundsätzlich eine gute Idee. Das Memory-Widget bekommt den "belegten" RAM aber schon fertig berechnet von der API (/api/diagnostics/system/system_resources). Daher müsste man erstmal diese erweitern. Die gibt bisher nur total / used / arc aus.
OPNsense virtual machine images
OPNsense aarch64 firmware repository

Commercial support & engineering available. PM for details (en / de).

Ja da muss man wohl bis ganz zur quelle runter.

Aber wenn es nicht viele User brauchen ist es viel Arbeit für nichts. Kann man auch YAGNI sagen.
Hardware:
DEC740