簡體   English   中英

如何優化 JVM 的 memory 使用?

[英]How can I optimize the memory usage of JVM?

我想問這里是否有人知道如何優化 JVM 的 memory 使用的方法? 我們正在使用調用 JVM 的 java 服務包裝器 (YAJSW),物理 memory 使用量約為 40MB。 我想減少這個,比如說 5-10MB。 我如何實現這一目標?

到目前為止,我只有以下配置:

java =-Xmx1024m

我也試過這個:

java =-Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:SurvivorRatio=2 -XX:PermSize=256m -XX:MaxPermSize=256m

但是這些配置設置根本沒有任何區別。 什么是正確的配置設置? 或者,我還需要做什么來優化它?

提前感謝您的回答。

你說的是常駐 memory 還是虛擬的? 在我的機器上,一個簡單的while(true); 在沒有其他任何東西的情況下,我已經獲得了 10 MB 的常駐 memory, main是因為 memory 映射的 r/o 庫(libc、libm、librt、libpthread ...)和 ZBE1587EA25D1C05C81D3BDEB94 如果可能的話,進一步減少 memory 占用空間,或在任何重要的應用程序中減少到 10 MB,只會意味着更多的分頁,從而降低速度。

另一方面,虛擬 memory 在我的機器上是 1.1 GB,如果需要可以減少,但為什么要這樣做? 未使用的虛擬 memory 並沒有真正花費任何成本。

編輯:除此之外,您可能還想看看其他HotSpot VM Options ,尤其是 MaxHeapFreeRatio。

YAJSW 的文檔指出:

包裝器 memory 要求
YAJSW 的靈活性是有代價的。 使用 java 進行包裝工藝有很多優點。 但是,我們支付更高 memory 占用空間的 java 價格。 雖然 JSW 包裝器只需要幾 k 的 memory,但 YAJSW 的最小虛擬 memory 要求是 90 MB 和 40 MB 物理 ZCD69B4957F06CD818D7BF3D61980E29 該值因操作系統和功能而異。

如果您的應用程序可以在 32 位 memory 限制下運行,您可以使用 Tanuki 的社區版,因為它占用空間較小。

暫無
暫無

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

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