簡體   English   中英

以編程方式設置max java堆大小

[英]programmatically setting max java heap size

有沒有辦法以編程方式設置max java堆大小而不是vm參數?

就像是:

System.getProperties().put("<heap variable>", "1000m");

沒有任何Hotspot JVM。 JVM堆參數只能在命令行中指定,然后在JVM的生存期內得到修復。

使用Hotspot Java實現,“更改”應用程序堆大小的唯一方法是在具有不同命令行參數的新JVM中重新啟動它。

(我模糊地回憶一下其他廠商的JVM 確實允許在運行的JVM中更改一些堆參數。也許有人可以澄清。)

您需要了解JVM空間與其運行環境之間的區別。您提到的參數(以及任何其他-X或-XX參數)是由運行JVM的環境提供的環境設置。

在Windows XP計算機中,Windows操作系統是JVM的啟動程序。 因此,JVM不應該能夠更改操作系統提供的參數。 這是合乎邏輯的。

@Stephen C,您可能對提供此功能的某些VM實現是正確的,但我不確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM