簡體   English   中英

如何加速 JVM?

[英]How do I speed up the JVM?

我正在編寫一些 java 軟件,該軟件正在 Linux 和 Windows XP 上運行,該 XP 嵌入在 Vortex86 芯片上。 該軟件通常在 Windows XP 中加載 2-3 秒,但是當我嘗試在 Linux 中加載它時大約需要 10-12 秒。 我認為這不是代碼優化問題,因為運行 Hello World 程序需要 1 秒。

任何建議將不勝感激。 預加載 java 是一個選項,因為機器只會運行這些程序,但我不知道該怎么做。

正如馬特所指出的,有很多因素在起作用。 由於您的描述不完整,因此無法做出有針對性的推薦。 話雖如此,這里有幾件事可以嘗試:

  • 使用 -verbose:gc 分析您的 memory 利用率並增加分配給您的程序的 memory (java -Xms512m -Xmx512m)
  • 檢查兩台機器上Java的版本大致相當
  • 檢查兩台機器上的硬件是否大致相同
  • 測量性能時檢查兩台機器是否安靜
  • 確保兩者都在 32 位或 64 位中運行,並且您沒有報告來自混合配置文件的結果。
  • 檢查您的程序可能在一個平台上使用但在另一個平台上可能缺少的啟動腳本(例如 run.properties)

如果您之前運行過 Java,則共享文件和 rt.jar 將在 memory 中。 即為您預先加載。 我只能想象您的 Linux 機器在 memory 上非常低,並且每次都必須從磁盤加載所有內容。

在我的 Linux 盒子上

$ time java -cp . HelloWorld
Hello World.

real     0m0.043s
user     0m0.030s
sys      0m0.010s

啟動和運行的總時間為 0.043 秒。 你能用你的hello world做一個類似的測試嗎?

暫無
暫無

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

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