NEWS
SDA1 Speicher voll IOBroker nicht mehr erreichbar
-
Hallo zusammen,
vorab: Ich habe das Forum schon durchgesucht und habe auch einige Lösungsansätze gefunden - leider aber konnte ich das Problem nicht lösen.
Meine IObroker-Installation läuft auf Debian auf Proxmox und hat eine Größe von insgesamt 35GB - also nicht wenig.
Jetzt war der Host nicht mehr erreichbar, was anscheinend daran liegt, dass der Speicher komplett voll war. Nachdem ich ein paar alte Kernel gelöscht hatte, habe ich jetzt zwar wieder 2Gb frei und der IOBroker läuft wieder, aber die eigentliche Ursache konnte ich nicht finden. Ich würde mich freuen, wenn ihr mir dabei helfen könntet.
Hier mal das Ergebnis von df-h und weitere Infos in der Tiefe:udev 5,7G 0 5,7G 0% /dev tmpfs 1,2G 536K 1,2G 1% /run /dev/sda1 24G 21G 1,7G 93% / tmpfs 5,8G 0 5,8G 0% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 1,2G 0 1,2G 0% /run/user/0
684M /lib 536K /run 16K /lost+found 4,0K /mnt 4,6M /etc 81M /boot 0 /dev 1,5G /var 11G /home 1,3G /usr du: Zugriff auf '/proc/525530/task/525530/fd/3' nicht möglich: Datei oder Verzeichnis nicht gefunden du: Zugriff auf '/proc/525530/task/525530/fdinfo/3' nicht möglich: Datei oder Verzeichnis nicht gefunden du: Zugriff auf '/proc/525530/fd/4' nicht möglich: Datei oder Verzeichnis nicht gefunden du: Zugriff auf '/proc/525530/fdinfo/4' nicht möglich: Datei oder Verzeichnis nicht gefunden 0 /proc 8,3M /sbin 8,0K /media 14M /root 12M /bin 4,0K /lib64 40K /tmp 6,9G /opt 4,0K /srv 0 /sys 21G /
12K /home/iobroker/.config 3,7G /home/iobroker/.npm 6,0M /home/iobroker/.node-gyp 6,8G /home/iobroker/.cache 11G /home/iobroker/
Für mich sieht das so aus, als ob da im Home-Verzeichnis eine ziemliche Datenmenge liegt.
Vor allem die 6.8GB in .cache (liegen in nem Verzeichnis ffmpeg-static-nodejs) sind auffällig. Um was handelt es sich dabei?
Logfiles?
Kann mir jemand sagen, wie ich das System wieder auf ne vernünftige Größe bekomme?
Es liegen auch keine Backups im Iobroker...VIelen Dank im Voraus!
-
-
Danke. Das hat ein ein wenig gebracht - leider nur ca. 5 GB. Trotzdem ist noch recht viel Speicher belegt.
12K /home/iobroker/.config 119M /home/iobroker/.npm 6,0M /home/iobroker/.node-gyp 6,8G /home/iobroker/.cache 6,9G /home/iobroker/
Der .cache ist praktisch unverändert bei 6,8 GB...
-
@deifel Was liegt denn in diesem cache drin?
ls -la /home/iobroker/.cache/
-
@deifel sagte in SDA1 Speicher voll IOBroker nicht mehr erreichbar:
Danke. Das hat ein ein wenig gebracht - leider nur ca. 5 GB. Trotzdem ist noch recht viel Speicher belegt.
12K /home/iobroker/.config 119M /home/iobroker/.npm 6,0M /home/iobroker/.node-gyp 6,8G /home/iobroker/.cache 6,9G /home/iobroker/
Der .cache ist praktisch unverändert bei 6,8 GB...
Die Plattenbelegung ist durchaus normal - ich habe mich um "Karteileichen" nicht aktiv gekümmert und bin auch über 21 GByte ...
martin@iobroker-test-sicher:/opt/iobroker/iobroker-data/files/vis-2.0$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/pve-vm--101--disk--0 65478188 22868252 39238112 37% / none 492 4 488 1% /dev udev 3956096 0 3956096 0% /dev/tty tmpfs 3989888 0 3989888 0% /dev/shm tmpfs 1595956 120 1595836 1% /run tmpfs 5120 0 5120 0% /run/lock martin@iobroker-test-sicher:/opt/iobroker/iobroker-data/files/vis-2.0$
Mein NPM-Cache ist aber deutlich sparsamer...
Andere Platzfresser:
Lokale Backups?
Influx-Datenbank?
History-Adapter?ncdu 1.18 ~ Use the arrow keys to navigate, press ? for help --- /home/iobroker -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2.0 GiB [#################################] /.npm 55.4 MiB [ ] /.cache 40.0 KiB [ ] .diag.sh 28.0 KiB [ ] iob_diag.log 20.0 KiB [ ] .nodejs-update.sh 4.0 KiB [ ] .bashrc 4.0 KiB [ ] .profile 4.0 KiB [ ] .bash_logout
-
15M /home/iobroker/.cache/esbuild 393M /home/iobroker/.cache/node-gyp 6,4G /home/iobroker/.cache/ffmpeg-static-nodejs 6,8G /home/iobroker/.cache/
Und darunter liegen dann z.B.:
56M /home/iobroker/.cache/node-gyp/18.18.2 56M /home/iobroker/.cache/node-gyp/18.19.1 55M /home/iobroker/.cache/node-gyp/18.17.1 56M /home/iobroker/.cache/node-gyp/20.16.0 7,2M /home/iobroker/.cache/node-gyp/16.20.2 56M /home/iobroker/.cache/node-gyp/20.17.0 56M /home/iobroker/.cache/node-gyp/18.20.4 56M /home/iobroker/.cache/node-gyp/18.19.0 393M /home/iobroker/.cache/node-gyp
Im Verzeichnis ffmpeg-static-nodejs liegen etliche json und body - Dateien, die in Summe die knapp 7GB ausmachen.
DIe Dateien sind auch teils ziemlich neu. ffmpeg brauche ich eigentlich nicht - wusste nicht mal, dass ich das drauf hab... -
Kannst du alles löschen. Dauert dann halt etwas länger, wenn die Dateien doch nochmal irgendwann gebraucht werden.
Deswegen liegen die ja im cache.
Das löscht dir alle Dateien, die 1 Jahr nicht mehr verwendet wurden:find ~/.cache/ -type f -atime +365 -delete
-
Vielen Dank, Thomas. Fürs erste habe ich jetzt zumindest mal wieder etwas Speicher frei! Der Befehl hat allerdings leider nicht funktioniert. Ich lösche aktuell mit Filezilla die entsprechenden Dateien raus.
Jetzt schmeiße ich noch ein paar nicht mehr benötigte Adapter weg und dann hoffe ich mal, dass es wieder ne Weile hält...
Vielen Dank für den mega schnellen und tollen Support hier! -
@deifel sagte in SDA1 Speicher voll IOBroker nicht mehr erreichbar:
Der Befehl hat allerdings leider nicht funktioniert.
Warum nicht? Hattest du keine Dateien, die 365 Tage nicht verwendet wurden?
Bei mir lief der nämlich genauso durch und hat z. B. alte builds von node-gyp rausgeworfen.. -
Doch, es sind viele drin, die älter als 1 Jahr sind. Der Befehlt wird nicht angemotzt, aber es werden auch keine Dateien gelöscht.
root@IOBrokerhost:/home/iobroker# find ~/.cache/ -type f -atime +365 -delete root@IOBrokerhost:/home/iobroker#
-
man kann sich ja vorher etwas minimal-invasiver mit "print" statt "delete" orientieren:
find ~/.cache/ -type f -atime +365 -print
Auch die Rechte der Files im cache Verzeichnis könnte man sich mit ls -l anschauen ...
-
Danke Martin.
Print liefert nix.
Rechte sind wie folgt:insgesamt 296 drwx------ 3 iobroker iobroker 4096 10. Mai 2021 esbuild drwxr-xr-x 2 iobroker iobroker 290816 28. Okt 07:36 ffmpeg-static-nodejs drwxr-xr-x 9 iobroker iobroker 4096 28. Okt 10:22 node-gyp
Habe es als root und als normaler user versucht...
-
@deifel ich hab das hier durchprobiert - erst bei 100 Tagen ein Ergebnis
martin@iobroker-test-sicher:/home/iobroker/.cache$ find ~/.cache/ -type f -atime +365 -print martin@iobroker-test-sicher:/home/iobroker/.cache$ find ~/.cache/ -type f -atime +200 -print martin@iobroker-test-sicher:/home/iobroker/.cache$ find ~/.cache/ -type f -atime +100 -print /home/martin/.cache/snowflake/ocsp_response_cache.json martin@iobroker-test-sicher:/home/iobroker/.cache$ ls -l total 8 drwxr-xr-x 3 iobroker iobroker 4096 Oct 19 16:24 node-gyp drwxr-xr-x 2 iobroker iobroker 4096 Mar 24 2023 snowflake martin@iobroker-test-sicher:/home/iobroker/.cache$
-
Also ich bekomme auch bei 100 oder weniger nix angezeigt...
-
Vermutlich sind die atimes jetzt alle aktuell.
Kannst ja mal nach ctime suchen. -
@thomas-braun
Auch hier leider kein Ergebnis. Auch wenn ich auf 5 Tage geh, bekomme ich nichts - weder bei atime noch ctime...
Eigenartig.
Dann werd ich wohl manuell löschen müssen. Auch nicht schlimm, dauert halt nur. -
find /home/iobroker/.cache -type f -atime +365 -delete
So gings - musste das komplette Verzeichnis angeben... Vielen Dank!
-
Hampel da NICHT als root herum...
Verdammt noch eins...find ~/
bezieht sich immer auf das Heimverzeichnis des ausführenden users. Also auf /root wenn es der root ausführt.
Und deswegen findest du da auch nichts, weil im cache des root hoffentlich gar nichts liegt.Und ganz grundsätzlich meldet man sich NIE, NIE, NIE als root an.
Aus genau solchen Gründen. -
Und ganz grundsätzlich meldet man sich NIE, NIE, NIE als root an.
@thomas-braun Aber auch als User "iobroker" meldet man sich nicht an ...
-
@martinp sagte in SDA1 Speicher voll IOBroker nicht mehr erreichbar:
Aber auch als User "iobroker" meldet man sich nicht an ...
Das stimmt. Man hat natürlich einen persönlichen Account..