Microservice Memory Usage

Hallo zusammen,

ich habe 3 Microservices geschrieben und auf einem vserver zum testen installiert. Als Ergbnis sehe ich DAS im Anhang, was zum Geier ist da los? Die Services machen genau nichts, außer da sein. Gestartet werden sie ohne Xmx oder so.
Sobald ich Services starte, läuft der Server unter Volllast und schmiert ab

Hmm… die scheinen doch etwas zu machen, aber so ganz ohne Code wirds schwer…

Gut eureka macht das was es von Haus aus macht, da wurde nix geändert. Mein User-Service hält nur einen Controller für GET bereit, mehr echt nicht. Mittlerweile hat sich der Server normalisiert. Wie könnte man das ganze absichern, damit das OS die Services nicht killed wenn die zu viel speicher nutzen?

Server wieder eingefroren. Habt ihr irgendwelche xms xmx werte beim start? Sonst muss ich mir mal einen profiler schnappen und prüfen.

Da du so gar keine Infos rausrueckst bzw. scheinen die paar die du gibst nicht zum Bild zu passen (euraka? sehe da payara… User Service? da steht was von entity Service und 'nem name service), kann ich nur raten:
Das Ding was soviel RAM frisst so abaendern, dass es das nicht mehr tut :slight_smile:

Du sagst ja nichtmal was da deployed ist, Spring Boot?
Falls ja, gibt es ein .conf file?
sind vielleicht verrueckte JAVA_OPTS gesetzt?
hast du da 'nen Bitcoin miner deployed? :slight_smile:

Fragen ueber fragen…

Bin grad on tour, daher leider kein code verfügbar :slight_smile:

eureka = nameserver.service

Conffile hab ich nicht, hab die wie folgt installiert. Werd das aber noch ändern sodass ich ein confFile habe:

/etc/systemd/system/nameserver.service:

[Unit]
Description=Test Service
After=syslog.target

[Service]
User=root
ExecStart=/usr/bin/java -jar /opt/test/nameserver-service.jar SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

Wenn ich mir das Bild genauer ansehe, ist das nur virtual Memory und reserved, also nicht was wirklich belegt wird, auch ist der swap leer, was zeigt das RAM nicht das Problem ist IMHO.
Die CPU last jedoch ist sehr hoch, beide virtuelle Kerne sind voll ausgelastet!
Java MicroServices sind nicht wirklich “Micro”, versuche mal nur einen Service zu starten, die Logs checken kann auch helfen, falls die zB. die voll mit Stacktraces sind, kann das ein Hinweis sein.