NEWS
heap zu klein?
-
Die Datei dürfte zu groß sein.
Stop mal ein paar der 70 Instanzen und starte den ioBroker oder besser den kompletten Rechner mal durch.
Und dann mal kritischen Auges durch die Instanzen gehen und überlegen, ob man wirklich mehr als 70 Instanzen von irgendwas braucht. -
@pingps sagte in heap zu klein?:
ein Pi kommt mir hier für den iobroker nicht mehr ins Haus.
wieso nicht?
ich bin gerade vom NUC mit Proxmox wieder zurück auf einen Pi5, auf den dann auch noch die Instanzen zweier Slaves gebracht wurden. -
@homoran sagte in heap zu klein?:
wieso nicht?
Läuft vermutlich zu gut. Da muss man dann ja nix mehr dran basteln. ;-D
-
@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.