RAM, SSD und Core Auslastung per Lib bekommen

NicoDeluxe

NicoDeluxe

Top Contributor
Hallo zusammen,

kennt jemand eine gute Libary die möglichst einfach folgende Daten vom Server mitteilen kann auf dem die App läuft?

Jeweils Frei / Belegter RAM, SSD, Coreauslastung.

Könnte zwar auch ne API anfragen aber die ist soooo langsam.
 
kneitzel

kneitzel

Top Contributor
Es gibt oshi, das einem einige Details liefern kann:
 
NicoDeluxe

NicoDeluxe

Top Contributor
Also RAM und SSD auslesen hab ich. Jetzt möchte ich noch die CPU Nutzung anzeigen a la min/max.
Folgendes hab ich, das spuckt mir 12 aus. Öhm ja 12 was? von wieviel? 12% von 100%?
Java:
 SystemInfo si = new SystemInfo();
        HardwareAbstractionLayer hal = si.getHardware();
        CentralProcessor cpu = hal.getProcessor();
        long[] prevTicks = new long[CentralProcessor.TickType.values().length];
        double cpuLoad = cpu.getSystemCpuLoadBetweenTicks(prevTicks) * 100;
        prevTicks = cpu.getSystemCpuLoadTicks();
        System.out.println("cpuLoad : " + cpuLoad);
 
NicoDeluxe

NicoDeluxe

Top Contributor
Danke, versteh ich aber trotzdem nicht so ganz, bzw hab ich keine Idee wie ich das anzeigen könnte.
Aktuell bekomme ich zb Load 6,5 das entspricht auch der Anzeige in htop

Die Last ist doch aber abhängig der Kerne oder? Also wenn ich 2 Kerne hab die Load 6 haben, ist das zu viel. Da muss ich vermutlich mal den Servermenschen interviewen.

Da wäre es doch sinnvoll, wenn ich Anzahl der Kerne und die jeweilige Auslastung anzeige oder?
Hintergrund ist zu sehen, wann die CPU überlastet ist um ggf den Server zu erweitern.
 
kneitzel

kneitzel

Top Contributor
Da muss man aufpassen: Load und CPU usage sind zwei Dinge.

So wichtig es ist, das sauber zu trennen: Die Library verwendet das auch nicht ganz sauber, denn es wird ja nicht die CpuLoad sondern CpuUsage geliefert (mit Wert von 0...1)

Und wenn ich es richtig verstanden habe, dann möchtest Du das pro (logischer) CPU haben:
Dann wäre getProcessorCpuLoadBetweenTicks aufzurufen (statt der getSystemCouLoadBetweenTicks Methode)
 
NicoDeluxe

NicoDeluxe

Top Contributor
Im prinzip möchte ich irgendeine Anzeige aus welcher hervorgeht, dass der Prozessor übermäßig unter Last steht und der Kunde angehalten wird mehr Kerne dazu zu buchen.

Gibts vielleicht noch einen anderen Wert an den ich grad nicht denke?
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Wenn du nicht grad explizit CPU-Zeit vermietest und die Kunden Entwickler sind, klingt das nach einer schlechten bis dummen Idee.

Warum nicht einfach was viel konkreteres wie Anzahl an Transaktionen oder Request o.ä. als Grundlage nehmen?
 
NicoDeluxe

NicoDeluxe

Top Contributor
wir rechnen an anderer Stelle Transaktionen ab. Es kann aber vorkommen, dass diese so viel Leistung schlucken und der Kunde aufbuchen kann/soll damit es nicht 100 Jahre dauert die Berechnungen zu beenden.
 
kneitzel

kneitzel

Top Contributor
Was ich hier evtl. vorziehen würde, wäre eine Monitoring Lösung, die alles in ein zentrales Monitoring schreibt. Darauf kann man dann relativ einfach Auswertungen fahren und so, also z.B. die Datenbank mit eigenen Programmen Abfragen oder einfache Reports bauen (Sowas ist da oft in den entsprechenden Lösungen mit drin).

Ich bin halt kein Fan davon, irgendwas, das es schon gibt, noch einmal von Hand neu zu bauen.
 
NicoDeluxe

NicoDeluxe

Top Contributor
das macht alles unser Hoster mit anderen Tools. Hier geht es nur darum dem Kunden verständlich zu zeigen, dass der Server viel Last hat und warum seine Jobs so lange brauchen um ihm eine Aufbuchoption anzubieten.
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
wir rechnen an anderer Stelle Transaktionen ab. Es kann aber vorkommen, dass diese so viel Leistung schlucken und der Kunde aufbuchen kann/soll damit es nicht 100 Jahre dauert die Berechnungen zu beenden.
CPU-Last als Metrik dafür zu nutzen würde ich trotzdem vermeiden.
Abgesehen davon, dass die wenigsten Kunden damit was anfangen könnten: der Code kommt ja auch gar nicht vom Kunden selbst, hat der also gar keine direkte Kontrolle über den CPU-Bedarf – nur indirekt über die Anzahl an XY (was sich wiederum als Metrik anböte, zB in Form von N/sek).

Wenn du wirklich bei einer rein technischen Metrik bleiben willst, wäre CPU-Zeit deines Programms auch die bessere, außer es ist sichergestellt das nichts anderes die CPU beeinflusst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Frage zu weka.core.Instance Allgemeine Java-Themen 3
H Frage zu java.weka.core.Instances Allgemeine Java-Themen 3
S Kommunikation von Core und GUI über Schnittstellen Allgemeine Java-Themen 2
H JVM Core Dump auf Solaris?! Allgemeine Java-Themen 14
Q JConsole - CPU Usage Multi-Core Allgemeine Java-Themen 2
D (gelöst) Java-Problem bei freemind mit fedora core 4 Allgemeine Java-Themen 9
K Unterschied Core Java / Desktop Allgemeine Java-Themen 12
D Methoden Java Applikation Die System Auslastung optimieren ? Allgemeine Java-Themen 7
V Gibt es eine Möglichkeit die Internet auslastung mit Java auszulesen Allgemeine Java-Themen 11
M Unterschied CPU Auslastung Allgemeine Java-Themen 0
P "virus entschärfen" / cpu-auslastung von javaw.exe anzeigen Allgemeine Java-Themen 9
P Runtime bzw. RAM-Auslastung eines Prozesses Allgemeine Java-Themen 9
D 100% auslastung? Allgemeine Java-Themen 21
M CPU Auslastung mit Java auslesen? Allgemeine Java-Themen 10
V javaw.exe nervt mit 100% CPU-Auslastung Allgemeine Java-Themen 14
B CPU-Auslastung erhöhen? Allgemeine Java-Themen 13
F CPU auslastung wenn Speicher mit -Xmx erhöht Allgemeine Java-Themen 4
G java applet mit swing -> hundert prozent cpu auslastung Allgemeine Java-Themen 11
P Java, rar.exe(winrar cmd version) und cpu-auslastung 100% Allgemeine Java-Themen 27
G CPU-Auslastung durch Thread Allgemeine Java-Themen 3
D CPU Auslastung ungewollt auf 100% Allgemeine Java-Themen 8
H Wie Cpu- und Speicher- Auslastung in Java auslesen Allgemeine Java-Themen 4
A Java 98 % CPU Auslastung! heul Allgemeine Java-Themen 9
Noahscript Aus einem byte Array Steuerungszeichen und Code bekommen und ersetzen Allgemeine Java-Themen 3
H Java Dom Childelemente von de Childelemente von den Childelement bekommen Allgemeine Java-Themen 1
B Dateien / Bilder von "webapp" Ordner bekommen? Allgemeine Java-Themen 1
N Generic Type einer Generischen Klasse während der Laufzeit bekommen Allgemeine Java-Themen 2
B HashMap aus Value Key bekommen Allgemeine Java-Themen 2
M Was braucht man, um einen Java Job zu bekommen? Allgemeine Java-Themen 8
I Alle logs von Logger bekommen Allgemeine Java-Themen 3
D Regex: Komplettes Wort bekommen Allgemeine Java-Themen 3
V Klassenname von allen Klassen mit einer bestimmten Eigenschaft bekommen Allgemeine Java-Themen 2
C HtmlUnit Daten einer Tabelle bekommen ohne, dass diese eine ID aufweist Allgemeine Java-Themen 1
DStrohma Swing Nicht möglich für ein JPanel den Fokus zu bekommen? Allgemeine Java-Themen 9
S [JUnit] Name von TestCase bekommen Allgemeine Java-Themen 4
D synchronen Schreibzugriff in den Griff bekommen Allgemeine Java-Themen 2
S Von HTML-Seite den Titel bekommen Allgemeine Java-Themen 2
F Image - Ausschnitt bekommen Allgemeine Java-Themen 3
J Generic von einer ArrayList/HashMap bekommen Allgemeine Java-Themen 7
Final_Striker Datei vom Server bekommen Allgemeine Java-Themen 2
S Erstes Enum bekommen? Allgemeine Java-Themen 2
R Wert von einer Klasse in eine andere bekommen Allgemeine Java-Themen 6
V Objekt aus Session als copy by value bekommen Allgemeine Java-Themen 4
M Liste der geladenen Objekte der jvm bekommen? Allgemeine Java-Themen 3
S [Lucene] Gefundene Stelle bekommen? Allgemeine Java-Themen 3
N Bekomme NIE ein TRUE obwohl ich es bekommen müsste :( Allgemeine Java-Themen 10
B JNI: HWND von aufrufendem Fenster bekommen. Allgemeine Java-Themen 4
thE_29 DOS pfad bekommen - die Tilde Allgemeine Java-Themen 1
V Alle Daten in einen path bekommen? listfiles()? Allgemeine Java-Themen 8

Ähnliche Java Themen


Oben