Au lancement de cette version :
GNU nano 7.2 docker-compose.yml
version: "3.5"
services:
duniter-mirror:
image: duniter/duniter-v2s-gdev-800:900-0.9.2
restart: unless-stopped
ports:
# Prometheus endpoint
- 9615:9615
# rpc
- 9944:9944
# p2p
- 30333:30333
volumes:
- data-mirror:/var/lib/duniter/
environment:
- DUNITER_CHAIN_NAME=gdev
- DUNITER_NODE_NAME=Dieudodev-mirror
volumes:
data-mirror:
J’ai ces erreurs :
2025-03-29 17:17:48 ✌️ version 0.10.0-unknown
2025-03-29 17:17:48 ❤️ by librelois <c@elo.tf>:tuxmain <tuxmain@zettascript.org>:c-geek <https://forum.duniter.org/u/cgeek>:HugoTrentesaux <https://trentesaux.fr>:bgallois <benjamin@gallois.cc>:Duniter Developers <https://duniter.org>:Axiom-Team Developers <https://axiom-team.fr>, 2021-2025
2025-03-29 17:17:48 đź“‹ Chain specification: ÄžDev
2025-03-29 17:17:48 🏷 Node name: Dieudodev-mirror
2025-03-29 17:17:48 👤 Role: FULL
2025-03-29 17:17:48 đź’ľ Database: ParityDb at /var/lib/duniter/chains/gdev/paritydb/full
2025-03-29 17:17:49 Cannot create a runtime error=Other("cannot create the wasmtime engine: failed to create memory pool mapping: mmap failed to allocate 0x6080000000 bytes: Cannot allocate memory (os error 12)")
Error: Service(Client(VersionInvalid("Other error happened while constructing the runtime: cannot create the wasmtime engine: failed to create memory pool mapping: mmap failed to allocate 0x6080000000 bytes: Cannot allocate memory (os error 12)")))
Moul
29 March 2025 17:59
2
L’image 64 bits que tu utilises n’est pas compatible avec la plateforme Arm.
Il y a des images construites pour la plateforme linux/arm64/v8
Le RPi 4 a une architecture ARM v8
Je ne sais pas si en spécifiant la plateforme en dessous du champ image:
fonctionne :
platform: linux/arm64/v8
C’est tout de même étrange; docker ne devrait-il pas choisir lui même la bonne architecture d’image quand elle existe pour pour le tag spécifié?
Et s’il avait choisi l’image amd64; ça ne devrais pas du tout démarrer…
1 Like
Moul
31 March 2025 07:42
4
Oui, je me suis posé la question de savoir si Docker choisissait automatiquement l’architecture. À creuser.
Peut-être que l’image amd64 a été choisie et que la partie wasm/runtime n’est pas fonctionnelle entre archi. Sinon, l’image arm a été choisie, mais ça n’est pas exactement la même archi ARM, alors ça n’arrive pas à allouer de la mémoire.
1 Like
Moul
31 March 2025 08:48
5
Lors de la récupération de l’image, l’architecture/la plateforme semble être sélectionnée automatiquement .
Pour en avoir le cœur sûr, @dieudo , peux-tu nous donner le retour de :
docker image inspect docker.io/duniter/duniter-v2s-gdev-800:900-0.9.2 | grep Archi
Je cherchais un peu pour voir l’architecture du RPi 4, normalement c’est bien ARMv8; mais ça discute d’un soucis quand l’OS installé dessus est en 32bits; le cpu est mentionné comme étant ARMv7…
https://forums.raspberrypi.com/viewtopic.php?t=293692
Est-ce que @dieudo pourrait vérifier quelle version de l’OS est installée et l’architecture ARM qui est rapportée par l’OS ?
Edit: autre post qui parle du même soucis - et avec les commandes pour voir si l’OS est en aarch64 ou pas: raspberry pi4 - Confusion regarding ARM architecture used in Raspberry_Pi 4 Model B - Stack Overflow
1 Like
Je viens d’augmenter la mémoire SWAP (de 200 à 512 Mo) comme indiqué ici :
https://siebert.ovh/gnu_linux:raspberry:augmenter_la_taille_du_swap_sur_le_raspberry_pi
C’était recommandé dans le Diagnostic du serveur fournit par Yunohost :
=================================
Ressources système (systemresources)
=================================
[SUCCESS] Le système dispose encore de 1.3 GiB (71%) de RAM sur 1.8 GiB.
[INFO] Le système ne dispose que de 200 MiB de swap. Vous devez envisager d'avoir au moins 512 MiB pour éviter les situations où le système manque de mémoire.
Mais ça ne semble pas avoir réglé le problème.
Ci-dessous la fin de la réponse à la requête :
docker compose logs -f
duniter-mirror-1 | 2025-03-31 13:03:45 Duniter
duniter-mirror-1 | 2025-03-31 13:03:45 ✌️ version 0.9.2-unknown
duniter-mirror-1 | 2025-03-31 13:03:45 ❤️ by librelois <c@elo.tf>:tuxmain <tuxmain@zettascript.org>:c-geek <https://forum.duniter.org/u/cgeek>:HugoTrentesaux <https://trentesaux.fr>:bgallois <benjamin@gallois.cc>:Duniter Developers <https://duniter.org>:Axiom-Team Developers <https://axiom-team.fr>, 2021-2025
duniter-mirror-1 | 2025-03-31 13:03:45 đź“‹ Chain specification: ÄžDev
duniter-mirror-1 | 2025-03-31 13:03:45 🏷 Node name: Dieudodev-mirror
duniter-mirror-1 | 2025-03-31 13:03:45 👤 Role: FULL
duniter-mirror-1 | 2025-03-31 13:03:45 đź’ľ Database: ParityDb at /var/lib/duniter/chains/gdev/paritydb/full
duniter-mirror-1 | 2025-03-31 13:03:46 Cannot create a runtime error=Other("cannot create the wasmtime engine: failed to create memory pool mapping: mmap failed to allocate 0x6080000000 bytes: Cannot allocate memory (os error 12)")
duniter-mirror-1 | Error: Service(Client(VersionInvalid("Other error happened while constructing the runtime: cannot create the wasmtime engine: failed to create memory pool mapping: mmap failed to allocate 0x6080000000 bytes: Cannot allocate memory (os error 12)")))
C’est une installation standard via Yunohost :
=================================
Système de base (basesystem)
[INFO] L’architecture du serveur est bare-metal arm64
Le modèle/architecture du serveur est Raspberry Pi 4 Model B Rev 1.5
[INFO] Le serveur utilise le noyau Linux 6.6.74+rpt-rpi-v8
[INFO] Le serveur utilise Debian 12.10
[INFO] Le serveur utilise YunoHost 12.0.12 (stable)
yunohost version : 12.0.12 (stable)
yunohost-admin version : 12.0.7 (stable)
yunohost-portal version : 12.0.10 (stable)
moulinette version : 12.0.4 (stable)
ssowat version : 12.0.3 (stable)
Ça suffit pour répondre à la question ?
En parcourant la suite du mĂŞme document (les logs de diagnostic du serveur) je tombe sur ceci :
=================================
Ressources système (systemresources)
[SUCCESS] Le système dispose encore de 1.3 GiB (71%) de RAM sur 1.8 GiB.
[INFO] Le système ne dispose que de 200 MiB de swap. Vous devez envisager d’avoir au moins 512 MiB pour éviter les situations où le système manque de mémoire.
Moul
31 March 2025 13:05
10
Ok, je me suis dit que si la bonne architecture de l’image avait été sélectionnée, c’était un problème de mémoire, car les 2Go de ram peuvent devenir limitantes.
J’ai cru que d’augmenter la SWAP avait suffit à régler le problème, mais en fait non.
Pour avoir une idée de l’utilisation mémoire; voici une vue de mes données grafana pour mon serveur SMITH GDev quand je l’ai ajouté (forte utilisation CPU pendant la synchronisation, et ensuite usage “normal”)
Le “memory usage” reste en dessous de 1GB; le “Memory Cached” monte jusque 2.10GB.
Si tu as assez d’espace disque; il pourrait être nécessaire de mettre 2GB de swap (qui vont probablement être utilisés pendant la synchro).
1 Like
J’ajoute la vue globale des stats depuis la création (± 3 mois)
Le CPU est armv8 mais Raspbian est en armv7, parce que pourquoi pas.
Je ne sais pas si ça fait exactement ce à quoi on peut s’attendre, mais on peut changer une ligne de la config de boot pour passer en armv8. Ça doit activer plus d’instructions 64 bits. En tout cas ça reste compatible avec un OS armv7 32 bits.
1 Like
J’ai assez de place sur le disque (1 SSD de 1To) mais il y a cette mise en garde de Yunohost dans le fichier de Diagnostic :
Soyez averti et conscient que si vous hébergez une partition SWAP sur une carte SD ou un disque SSD, cela risque de réduire considérablement l’espérance de vie de celui-ci.
tuxmain:
Le CPU est armv8 mais Raspbian est en armv7, parce que pourquoi pas.
Je ne sais pas si ça fait exactement ce à quoi on peut s’attendre, mais on peut changer une ligne de la config de boot pour passer en armv8. Ça doit activer plus d’instructions 64 bits. En tout cas ça reste compatible avec un OS armv7 32 bits.
Merci de l’indication, mais je n’ai aucune idée de comment faire, ni de comment dépanner si ne marche pas. Mais je peux demander à @1000i100 . Je le vois demain
J’ai mis 2 Go de swap, mais j’ai toujours la même erreur :
duniter-mirror-1 | 2025-03-31 16:46:00 Duniter
duniter-mirror-1 | 2025-03-31 16:46:00 ✌️ version 0.9.2-unknown
duniter-mirror-1 | 2025-03-31 16:46:00 ❤️ by librelois <c@elo.tf>:tuxmain <tuxmain@zettascript.org>:c-geek <https://forum.duniter.org/u/cgeek>:HugoTrentesaux <https://trentesaux.fr>:bgallois <benjamin@gallois.cc>:Duniter Developers <https://duniter.org>:Axiom-Team Developers <https://axiom-team.fr>, 2021-2025
duniter-mirror-1 | 2025-03-31 16:46:00 đź“‹ Chain specification: ÄžDev
duniter-mirror-1 | 2025-03-31 16:46:00 🏷 Node name: Dieudodev-mirror
duniter-mirror-1 | 2025-03-31 16:46:00 👤 Role: FULL
duniter-mirror-1 | 2025-03-31 16:46:00 đź’ľ Database: ParityDb at /var/lib/duniter/chains/gdev/paritydb/full
duniter-mirror-1 | 2025-03-31 16:46:01 Cannot create a runtime error=Other("cannot create the wasmtime engine: failed to create memory pool mapping: mmap failed to allocate 0x6080000000 bytes: Cannot allocate memory (os error 12)")
duniter-mirror-1 | Error: Service(Client(VersionInvalid("Other error happened while constructing the runtime: cannot create the wasmtime engine: failed to create memory pool mapping: mmap failed to allocate 0x6080000000 bytes: Cannot allocate memory (os error 12)")))