Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Obergrenze von 2 GB für den JVM-Speicher in Linux-Systemen

Detaillierte Erläuterung der Obergrenze von 2 GB für den JVM-Speicher in Linux-Systemen

高洛峰
高洛峰Original
2017-01-23 10:10:541702Durchsuche

Die JVMs, die wir normalerweise verwenden, sind alle 32-Bit (64-Bit-JVM verliert 10-20 % an Leistung und wird im Allgemeinen nicht empfohlen), und der Adressraum von 32-Bit-Programmen sollte 4 GB betragen. Warum unter Linux? Der JVM-Speicher kann nur 2 GB nutzen?

Nachdem ich mit dem JDK-Forschungs- und Entwicklungsteam kommuniziert habe, habe ich endlich einige damit zusammenhängende Gründe herausgefunden. Dieses Problem besteht in einigen frühen Linux-Versionen, insbesondere in Versionen vor Kernel 2.5. Versionen nach 2.6 haben dieses Problem grundsätzlich nicht. Es stellt sich heraus, dass diese Linux-Versionen ein Speicherlimit von 2 GB für Prozesse haben, was die Obergrenze der Größe eines Speicherblocks mit zusammenhängenden Adressen darstellt, und die Heap-Größe der JVM einen zusammenhängenden Adressraum erfordert. Daher sind 2 GB die theoretische Verwendung des Java-Prozesses.

Wenn die Java-Anwendung größeren Speicher benötigt, wird empfohlen, eine neuere Version von Linux zu verwenden oder die Konfiguration des Speicherverhältnisses zwischen Linux-Anwendung und Kernel auf 3 GB:1 GB zu ändern. Es besteht auch die Möglichkeit, ein UNIX-Betriebssystem wie Solaris zu wählen. Betriebssysteme wie Solaris haben keine 2-GB-Beschränkung für die JVM-Speicherverwaltung, daher kann die Heap-Größe auf etwa 3,5 bis 3,6 GB eingestellt werden.

Ausführlichere Erläuterungen zur 2-GB-Obergrenze des JVM-Speichers in Linux-Systemen finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn