Speicherverwaltung unter Linux

Status
Nicht offen für weitere Antworten.

micho2

Mitglied
Hallo,

ich habe so meine Probleme nachzuvollziehen, was für Speicher Java unter Linux verbraucht.

Ich habe ein minimales Testprogramm:
Code:
public class memo
{ public static void main(String[] args)
  { System.out.println("this is memo");
      try { Thread.currentThread().sleep(60000); }  catch (Exception e)   { System.out.println(e);}
      System.out.println("Fertig");
  }
}

wenn ich mir den Prozess mit TOP ansehe erhalte ich folgende Werte
Code:
Virt 	 257m
Res      11m
Swap  245m	
SHR	  6m
Data	202m
code     60k

wenn in mit Java -Xms2m -Xmx2m memo aufrufe, erhalte ich
Code:
Virt 	 194m
Res      11m
Swap  183m	
SHR	  6m
Data	140m
code     60k

Ich interpretiere das zuerstmalö so:
code ist der Teil der VM, der im Speicher vorgehlaten werden muss, um mein Programm auszuführen.
Data ist: stack der VM, der Bytecode, der Heap der JVM, der im Speicher vorgehalten werden muss.

meine Fragen hierzu.
1) lt Doku ist Res der im Speicher vorgehaltene Teil des virtual memory des prozesses, und es soll gelten Res =code+data, das stimmt hier aber nicht!

2) wie ist der riesige data Bedarf für dieses minimale javaprogramm zu erklären.
 

Wildcard

Top Contributor
Welcher riesige Bedarf?
Wie du selbst merkst passen die Zahlen nicht zusammen, wie leitest du daraus also ab das eine der Angaben korrekt ist?
Ich hatte mit den Ausgaben von TOP immer so meine Probleme. Die Werte des Gnome System Monitors erscheinen mir plausibler.
 
G

Guest

Gast
Der server wird ohne X betrieben.

kennt jemand ein anderes Konsolenprogramm, mit dem man hier weiter forschen kann oderkann sonst weiterhelfen?
 

madboy

Top Contributor
Konsolenprogramm: ps
Wobei top die Infos über ps holt soweit ich informiert bin.
ps wiederum holt seine Infos aus /proc/*
/proc/*PID*/statm wäre wahrscheinlich die beste Quelle für Speicherfragen, da die Daten hier direkt vom Kernel kommen.
 

micho2

Mitglied
Danke, die manpage von proc liefert mir für /proc/[number]/statm

Code:
Provides information about memory status in pages.  The columns are:
size       total program size
resident   resident set size
share      shared pages
text       text (code)
lib        library
data       data/stack
dt         dirty pages (unused in Linux 2.6)
,

die werte stimmen so grob mit top überein.

gibt es da irgendwo ne bessere genauere Infos dazu.
 

madboy

Top Contributor
gibt es da irgendwo ne bessere genauere Infos dazu.
/usr/src/linux-source-x.x.xx :wink:

Ob du irgendwo genauere Speicherauslastungsinfos findest, weiß ich nicht. Allerdings denke ich, dass die Infos die über /proc kommen so ziemlich das exakteste ist, was ohne direkt im RAM und swap die Bytes zu zählen machbar ist.
 

micho2

Mitglied
sorry, ich habe mich falsch ausgedrückt.
Ich will keine genauere Speicherinfo sondern eine präziesere Beschreibung der von /proc/pid/statm gelieferten werte.
 

madboy

Top Contributor
Hmmm. Ausser der manpage fällt mir spontan auch nix dazu ein.

Eine Zeile unter "/proc/[number]/statm" wäre noch
man hat gesagt.:
/proc/[number]/status
Provides much of the information in /proc/[number]/stat and /proc/[number]/statm in
a format that’s easier for humans to parse.
Das sieht irgendwie lesbarer aus.

Viel mehr kann ich dir leider nicht sagen, hab das ganze Speicherverwaltungszeugs schon wieder vergessen (hoffentlich liest das mein Prof nicht :wink: )

Einen Überblick über /proc gibts z.B. hier http://www.tu-chemnitz.de/docs/lindocs/RH73/RH-DOCS/rhl-rg-de-7.3/s1-proc-directories.html
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Speicherverwaltung bei Instanz- und Klassenvariablen JS vs. Java Allgemeine Java-Themen 2
E Speicherverwaltung bzw. Speicher wieder frei geben?! Allgemeine Java-Themen 8
V Java, Speicherverwaltung und optimale Lastverteilung Allgemeine Java-Themen 3
G Eigene "Speicherverwaltung" Allgemeine Java-Themen 5
M Speicherverwaltung Allgemeine Java-Themen 8
D Speicherverwaltung von Java Allgemeine Java-Themen 2
A Java unter Win 10 Allgemeine Java-Themen 1
M Eclipse unter Linux Lite Allgemeine Java-Themen 2
N iText keine Sonderzeichen und Umlaute unter Windows Allgemeine Java-Themen 13
MarekLanger Filebeat in Docker unter Windows Allgemeine Java-Themen 1
H Java SDK unter 32 Bit Allgemeine Java-Themen 5
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
L Tesseract-OCR 4.0 unter Linux funktioniert nicht Allgemeine Java-Themen 3
J Wie konkret funktioniert das Modulsystem unter Java 11? Allgemeine Java-Themen 4
J jar Dateien unter Windows 7 mit spezifischer jdk öffnen Allgemeine Java-Themen 2
I GUI für kleine Pop-Ups unter Windows Allgemeine Java-Themen 1
H Änderung im maximalen heap space unter Windows 7 ?! Allgemeine Java-Themen 5
E Erfahrungen mit Java/JS Bridge unter nodejs und NodeJS/C++ Bridge Allgemeine Java-Themen 0
Neumi5694 Task-Name unter Windows Allgemeine Java-Themen 4
T PDF-Generierung (itext) - läuft unter Eclipse, bei har aber leere Seite Allgemeine Java-Themen 39
S Korrekte Pfadangaben damit eine .jar Datei unter Windwos läuft. Allgemeine Java-Themen 24
K USB infos unter Linux abfragen? Allgemeine Java-Themen 2
K jar-Datei lässt sich unter Windows nicht verwenden Allgemeine Java-Themen 3
N Lizenzensierung von Java Programmen unter Linux Allgemeine Java-Themen 3
H Summe aller Vielfachen von 3 oder 5 unter 1000. Allgemeine Java-Themen 7
krgewb LookAndFeel unter Mac OS Allgemeine Java-Themen 1
Cromewell JavaFX FXML-File lädt unter Ubuntu nicht Allgemeine Java-Themen 7
D JRE in .jar verpacken unter Windows Allgemeine Java-Themen 4
D Aktuell installierte Java Version auslesen unter Windows Allgemeine Java-Themen 5
R probleme beim starten von jar unter linux Allgemeine Java-Themen 2
S Executable Jar File startet nicht unter Windows 10 Allgemeine Java-Themen 3
C Windows RCP Application unter Linux bauen lassen Allgemeine Java-Themen 3
X Zeile unter einer bestimmen Zeile hinzufügen(File) Allgemeine Java-Themen 1
E Anwendung verhält sich unter Mac anders als Unter Windows. Allgemeine Java-Themen 4
F URI-Scheme mit Java unter MacOS erstellen? Allgemeine Java-Themen 0
E Drucken einer Pdf Datei unter Java. Allgemeine Java-Themen 1
E Sonderzeichen nicht setzbar: Großes Problem bei Programmierung unter Linux Mint mit Virtual Box Allgemeine Java-Themen 5
F Mencoder unter Java Ausführen Allgemeine Java-Themen 0
G Methoden HashMap speichert unter falschen Schlüsseln Allgemeine Java-Themen 6
G IR Fernbedienung unter Java Allgemeine Java-Themen 0
G Wie installiere ich javax-usb unter windows? Allgemeine Java-Themen 0
S JAAS unter Ubuntu? Allgemeine Java-Themen 0
J Compiler-Fehler Compiliert unter Eclipse aber nicht mit javac Allgemeine Java-Themen 0
M Code läuft unter windows aber nicht unter Linux Allgemeine Java-Themen 6
Guybrush Threepwood Kein user.home unter Windows8 Allgemeine Java-Themen 7
P java.nio.file unter Java 6 verwenden Allgemeine Java-Themen 4
R Java-Progamm über Icon starten unter Windows Allgemeine Java-Themen 9
C JasperReports, PDF und "Speichern unter"-Dialog Allgemeine Java-Themen 7
P Eclipse Unter Windows erstelle .jar unter Linux (Ubuntu) funktioniert nicht Allgemeine Java-Themen 5
R ZIP FileSystem unter Windows wirft exception Allgemeine Java-Themen 7
G Runtime.exec beendet Programm unter Linux, wenn Java Programm beendet wird Allgemeine Java-Themen 3
G RXTX native library unter Linux in jar build angeben Allgemeine Java-Themen 4
C Darstellungsproblem unter Debian und OpenJDK Allgemeine Java-Themen 5
R Umlautproblem unter Linux Allgemeine Java-Themen 10
C derby db unter mac os Allgemeine Java-Themen 8
B File Seperator unter verschiedenen OS Allgemeine Java-Themen 2
T Jar File läuft unter Windows aber nicht unter linux Allgemeine Java-Themen 10
B Methode läuft nicht unter UNIX Allgemeine Java-Themen 6
F Process.getInputStream unter Linux Allgemeine Java-Themen 7
S Java-Installation unter Sun OS Allgemeine Java-Themen 3
K Xattr Mac unter Java ansprechen Allgemeine Java-Themen 17
D Clipboard getSystemSelection() funktioniert unter Windows* nicht Allgemeine Java-Themen 3
M Nach Programmdurchlauf werden Zeichen falsch dargestellt + Anderes Verhalten unter Windows Allgemeine Java-Themen 6
L Sicherstellen das 2x die gleichen Daten unter bestimmten Keys enthalten sind. Allgemeine Java-Themen 6
T Javaprogramm unter Linux auf bestimmten Kern starten/laufen lassen ? Allgemeine Java-Themen 22
J Path-Eintrag unter Windows 7 Allgemeine Java-Themen 11
F Eclipse JAVAMAIL läuft nur unter Eclipste Applet Viewer Allgemeine Java-Themen 4
C .jar unter Windows7 über den Explorer starten Allgemeine Java-Themen 6
S (Doppel)Klick-Verhalten vom Desktop unter Java imitieren. Allgemeine Java-Themen 5
Z Probleme mit Java unter Vista/ Windows 7 Allgemeine Java-Themen 12
M Realisierung einer dynamischen Tabelle unter Android Allgemeine Java-Themen 3
C Datei auslesen wie unter Linux mit "tail -f" Allgemeine Java-Themen 3
J Java-Datei unter Mac OS X öffnen - eine Frage der Klasse Allgemeine Java-Themen 2
G Textdatei einlesen unter Windows 7 Allgemeine Java-Themen 4
D Objekte nur unter bestimmten Voraussetzungen erzeugen Allgemeine Java-Themen 4
H String spliten unter berücksichigung von " und \" Allgemeine Java-Themen 7
V linuxprogramm unter java aufrufen??? Allgemeine Java-Themen 4
ruutaiokwu welches design pattern? frage an die oo-experten unter euch... Allgemeine Java-Themen 3
N JAR Datei ausführen unter Angabe einer speziellen Klasse Allgemeine Java-Themen 2
J Eclipse unter Windows 7 Allgemeine Java-Themen 5
T Pfad Anwendungsdaten unter Windows ermitteln Allgemeine Java-Themen 3
B Java Applet unter Mac wird nicht angezeigt Allgemeine Java-Themen 6
A CLASSPATH unter Debian Lenny Allgemeine Java-Themen 4
A Umgebungsvariable unter Windows Vista setzen Allgemeine Java-Themen 60
M Log4J funktioniert nicht unter anderem Benutzer Allgemeine Java-Themen 5
E Alle unter Prozesse der beim schließen mit schließen Allgemeine Java-Themen 3
J dialogys unter linux Allgemeine Java-Themen 4
S Problem beim Drucken auf Netzwerkdrucker unter Linux Allgemeine Java-Themen 9
R Sound unter Java Allgemeine Java-Themen 12
I Fehler unter 64Bit JDK Allgemeine Java-Themen 4
S Jar und Exe verhalten sich unterschiedlich unter Vista Allgemeine Java-Themen 8
D Botschaftssendung unter Klassen Allgemeine Java-Themen 4
H JDIC unter 1.5 Allgemeine Java-Themen 2
G Generics - W.card unter Nutzung von Annotationsklasse? Allgemeine Java-Themen 6
B Frage zu Sichtbarkeit in (Unter)Paketen Allgemeine Java-Themen 9
F Document öffnen unter Linux Allgemeine Java-Themen 4
0 kein Java unter Server 2008 ? Allgemeine Java-Themen 3
J Runtime.exec unter win vista? Allgemeine Java-Themen 10
S unter UNIX - (symbolic) links erkennen? Allgemeine Java-Themen 12
L dateizugriff unter windows nicht behindern Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben