NEWS
heap zu klein?
-
@thomas-braun das System soll ja laufen und ich will da nicht viel basteln.
Hatte auch schon ein paar Instanzen gelöscht. Aber seit dem Absturz läuft garnix mehr. Da muss noch was im Argen liegen.
Ich spiele mal ein backup ein. Auch wenn das die Instanzen beibehält.
-
@pingps sagte in heap zu klein?:
das System soll ja laufen und ich will da nicht viel basteln.
Ja, eben. Deswegen verwende ich da einen Raspberry...
-
@thomas-braun also die RPIs, die ich bisher verwende, brauchen 5,2V Spannung. Das ist ja ein Nogo. Die Probleme, die ich mit den RPIs bisher hatte, kannte ich vom Nuc überhaupt nicht. Das Ding läuft - ok, lief bisher, und tat seinen Dienst. Beim RPI geht ständig die SD Karte kaputt. Sowas gibts beim Nuc nicht.
Ok, den RPI5 habe ich jetzt noch nicht angeguckt. Womöglich hat er das Problem nicht. -
@pingps sagte in heap zu klein?:
Beim RPI geht ständig die SD Karte kaputt.
Hier nicht. Du machst also da im Umgang mit der Kiste irgendwas verkehrt... Wird aber OT.
-
@pingps sagte in heap zu klein?:
Beim RPI geht ständig die SD Karte kaputt
hab ich ihn 10 Jahren kein einziges mal gehabt!
Dabei habe ich 50GB History Daten drauf, die teilweise im Sekundentakt geschrieben werden. -
@homoran beim iobroker hatte ich das auch nicht. Homematic aber schon.
Aber jetzt OT -
Bei heap Problemen sollte man auch mal nach speicherlecks in seinen javascripten schauen.
Ist der Abbruch relativ kurz nach dem Neustart oder ist der ram Verbrauch über eine gewisse Zeit ansteigend? -
@thomas-braun
ich möchte einige instanzen löschen.
Leider geht das nicht mit z.B.iobroker stop zigbee Server Cannot start inMem-objects on port 9001: Failed to lock DB file "/opt/iobroker/iobroker-data/objects.jsonl"!
Für Hilfe wäre ich sehr dankbar!
-
@pingps hast du schon
iob fix
laufen lassen? -
@oliverio Speicherverbrauch ist konstant. Da gibt es keine ansteigenden Speicherverbräuche
@Homoran iob fix habe ich laufen lassen.
Hier wiederholt:iob fix library: loaded Library version=2024-01-04 ========================================================================== Welcome to the ioBroker installation fixer! Script version: 2024-01-04 You might need to enter your password a couple of times. ========================================================================== ========================================================================== Installing prerequisites (1/5) ========================================================================== OK:1 http://ftp.de.debian.org/debian bullseye InRelease OK:2 http://ftp.de.debian.org/debian bullseye-updates InRelease OK:3 https://security.debian.org/debian-security bullseye-security InRelease OK:4 https://deb.nodesource.com/node_18.x nodistro InRelease Paketlisten werden gelesen… Fertig ========================================================================== Checking ioBroker user and directory permissions (2/5) ========================================================================== Created /etc/sudoers.d/iobroker Fixing directory permissions... ========================================================================== Check and cleanup npm temporary directories (3/5) ========================================================================== Done. ========================================================================== Database maintenance (4/5) ========================================================================== Checking for uncompressed JSONL databases... This might take a while! Compressing /opt/iobroker/iobroker-data/states.jsonl Compressing /opt/iobroker/iobroker-data/objects.jsonl <--- Last few GCs ---> [10880:0x6afa850] 9970 ms: Mark-sweep 1978.7 (2087.8) -> 1976.7 (2087.8) MB, 97.2 / 0.0 ms (average mu = 0.902, current mu = 0.788) allocation failure; scavenge might not succeed [10880:0x6afa850] 10188 ms: Mark-sweep 1992.4 (2087.8) -> 1990.1 (2117.5) MB, 177.8 / 0.0 ms (average mu = 0.757, current mu = 0.184) allocation failure; scavenge might not succeed <--- JS stacktrace ---> FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory 1: 0xb9a330 node::Abort() [node] 2: 0xaa07ee [node] 3: 0xd71ed0 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node] 4: 0xd72277 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node] 5: 0xf4f635 [node] 6: 0xf61b0d v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node] 7: 0xf3c1fe v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node] 8: 0xf3d5c7 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node] 9: 0xf1db40 v8::internal::Factory::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [node] 10: 0xf155b4 v8::internal::FactoryBase<v8::internal::Factory>::AllocateRawWithImmortalMap(int, v8::internal::AllocationType, v8::internal::Map, v8::internal::AllocationAlignment) [node] 11: 0xf17948 v8::internal::FactoryBase<v8::internal::Factory>::NewRawTwoByteString(int, v8::internal::AllocationType) [node] 12: 0x134923c v8::internal::IncrementalStringBuilder::Extend() [node] 13: 0x105e5d0 v8::internal::JsonStringifier::SerializeString(v8::internal::Handle<v8::internal::String>) [node] 14: 0x105fa71 v8::internal::JsonStringifier::Result v8::internal::JsonStringifier::Serialize_<true>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>) [node] 15: 0x106164f v8::internal::JsonStringifier::Result v8::internal::JsonStringifier::Serialize_<true>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>) [node] 16: 0x106164f v8::internal::JsonStringifier::Result v8::internal::JsonStringifier::Serialize_<true>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>) [node] 17: 0x106164f v8::internal::JsonStringifier::Result v8::internal::JsonStringifier::Serialize_<true>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>) [node] 18: 0x106164f v8::internal::JsonStringifier::Result v8::internal::JsonStringifier::Serialize_<true>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>) [node] 19: 0x1063eaf v8::internal::JsonStringifier::Result v8::internal::JsonStringifier::Serialize_<false>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>) [node] 20: 0x1064bff v8::internal::JsonStringify(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>) [node] 21: 0xdf7d57 v8::internal::Builtin_JsonStringify(int, unsigned long*, v8::internal::Isolate*) [node] 22: 0x1710839 [node] Aborted ========================================================================== Checking autostart (5/5) ========================================================================== Enabling autostart... Autostart enabled! ========================================================================== Your installation was fixed successfully Run iobroker start to start ioBroker again! ========================================================================== Uli@debian-uli:~/2024-05-05$ ^C Uli@debian-uli:~/2024-05-05$ iob fix library: loaded Library version=2024-01-04 ========================================================================== Welcome to the ioBroker installation fixer! Script version: 2024-01-04 You might need to enter your password a couple of times. ========================================================================== ========================================================================== Installing prerequisites (1/5) ========================================================================== OK:1 http://ftp.de.debian.org/debian bullseye InRelease OK:2 http://ftp.de.debian.org/debian bullseye-updates InRelease OK:3 https://security.debian.org/debian-security bullseye-security InRelease OK:4 https://deb.nodesource.com/node_18.x nodistro InRelease Paketlisten werden gelesen… Fertig ========================================================================== Checking ioBroker user and directory permissions (2/5) ========================================================================== Created /etc/sudoers.d/iobroker Fixing directory permissions... ========================================================================== Check and cleanup npm temporary directories (3/5) ========================================================================== Done. ========================================================================== Database maintenance (4/5) ========================================================================== Checking for uncompressed JSONL databases... This might take a while! Compressing /opt/iobroker/iobroker-data/states.jsonl Compressing /opt/iobroker/iobroker-data/objects.jsonl <--- Last few GCs ---> [10880:0x6afa850] 9970 ms: Mark-sweep 1978.7 (2087.8) -> 1976.7 (2087.8) MB, 97.2 / 0.0 ms (average mu = 0.902, current m==========================================================================
-
@Homoran mir scheint das Problem zu sein, dass linux kein file locken kann
iob status Server Cannot start inMem-objects on port 9001: Failed to lock DB file "/opt/iobroker/iobroker-data/objects.jsonl"! Uli@debian-uli:~$
-
@pingps sagte in heap zu klein?:
/opt/iobroker/iobroker-data/objects.jsonl
ls -lah /opt/iobroker/iobroker-data/objects.jsonl
und
getfacl /opt/iobroker/iobroker-data/objects.jsonl
sagen?
-
@pingps sagte in heap zu klein?:
dass linux kein file locken kann
nicht linux, sondern der user.
Deswegen den Fixer, damit die Rechte wieder geradegebogen werden.Allerdings kann ich mit der dortigen Fehlermeldung nichts anfangen. Da muss ein Wissender ran.
-
ls -lah /opt/iobroker/iobroker-data/objects.jsonl -rw-rwxr--+ 1 iobroker iobroker 547M 5. Mai 20:12 /opt/iobroker/iobroker-data/objects.jsonl Uli@debian-uli:~$
getfacl /opt/iobroker/iobroker-data/objects.jsonl getfacl: Entferne führende '/' von absoluten Pfadnamen # file: opt/iobroker/iobroker-data/objects.jsonl # owner: iobroker # group: iobroker user::rw- group::r-x group:iobroker:rwx mask::rwx other::r--
-
Die Rechte stehen bei mir anders:
echad@chet:~ $ ls -lah /opt/iobroker/iobroker-data/objects.jsonl -rw-rw-r--+ 1 iobroker iobroker 61M May 5 20:23 /opt/iobroker/iobroker-data/objects.jsonl echad@chet:~ $ getfacl /opt/iobroker/iobroker-data/objects.jsonl getfacl: Removing leading '/' from absolute path names # file: opt/iobroker/iobroker-data/objects.jsonl # owner: iobroker # group: iobroker user::rw- group::r-x #effective:r-- group:iobroker:rwx #effective:rw- mask::rw- other::r-- echad@chet:~ $
Ob das locking aber daran scheitert oder an der Größe der Datei (oder was ganz anderem) kann ich dir auch nicht sagen.
-
@thomas-braun bei mir gibt es ja mehr Rechte
-rw-rw-r--+
bei mir
-rw-rwxr--+ /opt/iobroker/iobroker-data/objects.jsonlfür was soll diese jsonl ausführbar sein? (habe dazu leider keine Ahnung!)
-
@pingps sagte in heap zu klein?:
für was soll diese jsonl ausführbar sein? (habe dazu leider keine Ahnung!)
Das frage ich mich auch. Das ist keine ausführbare Datei.
-
@thomas-braun
Vielleicht hilft das: Beim Stoppen einiger Adapter gab es komische Ereignisse:Uli@debian-uli:~$ iobroker stop telegram Objects database error: connect ECONNREFUSED 127.0.0.1:9001 Objects database error: connect ECONNREFUSED 127.0.0.1:9001 Objects database error: connect ECONNREFUSED 127.0.0.1:9001 Objects database error: connect ECONNREFUSED 127.0.0.1:9001 Objects database error: connect ECONNREFUSED 127.0.0.1:9001 Objects database error: connect ECONNREFUSED 127.0.0.1:9001 Objects database error: connect ECONNREFUSED 127.0.0.1:9001 Objects database error: connect ECONNREFUSED 127.0.0.1:9001 Objects database error: connect ECONNREFUSED 127.0.0.1:9001 ^C Uli@debian-uli:~$ iobroker stop telegram The adapter "telegram.0" was stopped. The adapter "telegram.1" was stopped. The adapter "telegram.2" was stopped.
Nach dem Abbrechen durch ^C und neuem Stop funktionierte dann der stop
-
@pingps werde wohl iobroker auf synology umziehen bzw. neu aufsetzen. Ne DS1621+, die sowieso nur Däumchen dreht, steht hier zur Verfügung.
Gute Idee? -
@pingps ok, habe mal die Synology für iobroker bereit gemacht und den iobroker neu installiert. Natürlich darf ich jetzt alle Adapter... neu installieren. Ich denke mal mit backitup die bestehende Konfiguration einzuspielen wird schief gehen?
Oder ist das nicht so toll?Dann gibt es bei der Homematic (nicht IP) Probleme: Bei HM-RPC wird ja als Adapter Adresse die iobroker Adresse eingegeben. Und die hat sich ja i.V. zur alten Konfiguration geändert. Also neue IP. Aber der Zusatz -ens3 wird hier angeboten. Klar, dass die IP eine andere ist aber der Zusatz war früher anders. Ist das ok?
Als Homematic Port habe ich 2001 eingetragen. Leider wird der Adapter nicht grün.
hm-rega ist ok.