# Linux RAM per Thread



## OnDemand (30. Mai 2021)

Hallo zusammen,

hab mal ein paar Fragen zum Thema java jar auf Linux. 

1. Verstehe ich es richtig, dass jeder Thread in Linux unter htop als eigener Prozess dargestellt wird?
ich sehe in Htop massenhaft Prozesse meines Systems (über 50) owohl ich nur max 3 Threads am laufen habe.

2. Ich starte mein programm mit xms500m xmx2g. Hat dann jeder Thread die Möglichkeit bis zu 2GB RAM zu vernaschen oder gilt das für die JVM only?


----------



## kneitzel (30. Mai 2021)

Das ist nur eine Darstellung  von htop. Wenn Du das nicht möchtest, sollte hide_userland_threads=1 in deiner ~/.config/htop/htoprc dieses Verhalten abstellen.

Das -Xmx Limit gilt für den Prozess, nicht für jeden einzelnen Thread.


----------



## OnDemand (30. Mai 2021)

ahhhh verstehe danke  aber waas sind dann diese ganzen prozesse die keine sind oO









						Why does `htop` show more process than `ps`
					

In ps xf  26395 pts/78   Ss     0:00  \_ bash 27016 pts/78   Sl+    0:04  |   \_ unicorn_rails master -c config/unicorn.rb                                            27042 pts/78   Sl+    0:00  |  ...




					unix.stackexchange.com
				



Das sind also alles threads. puh öh so viele erstlle ich aber garnich (bewusst)


----------



## kneitzel (30. Mai 2021)

Wenn Du die Java VM startest, dann laufen da direkt diverse Threads los. Ganz prominent und bekannt ist der GC. Aber es ist ja auch bekannt, dass Java Bytecode per JIT Compiler noch übersetzt wird (=> eigene Threads) und so ...

Wenn Dich das im Detail interessieren sollte, dann wäre evtl. dieser Link hilfreich:








						JVM Internals
					

Explains the internal architecture of the Java Virtual Machine (JVM) in simple terms using showing key components and how memory is updated during execution.




					blog.jamesdbloom.com


----------

