[英]Using 32 bit Java in 64 bit Windows
我在Windows 7 64位中使用Java的32位版本。 系統具有6 GB的RAM。 但是,當JVM由操作系統分配內存時,它不會超過1.5 GB(與32位操作系統相同)。 可能的原因是,JVM沒有足夠的內存。 如果可能的話,如何解決呢? 我無法升級到64位JVM。
Windows上的32位進程仍受與32位Windows操作系統上運行相同的限制。 查看此問題的答案。
Oracle的此指南建議32位JVM可以使用大約1.5GB。
32位JVM的最大理論堆限制為4G。 由於各種其他限制,例如可用交換,內核地址空間使用,內存碎片和VM開銷,在實踐中,限制可能要低得多。 在大多數現代的32位Windows系統上,最大堆大小范圍為1.4G至1.6G。
32位應用程序將無法使用超過4GB的RAM。 實際上,它不能使用超過3GB的內存,因為它需要為操作系統保留一些虛擬內存空間。
除此之外,默認情況下,JVM最多分配四分之一的可用RAM。 如果要覆蓋此使用選項:
java -XX:DefaultMaxRAMFraction=1
它應該使用對32位應用程序可行的所有可用RAM。
資料來源: http : //jvm-options.tech.xebia.fr/#
為了能夠使用更多的內存,您必須升級到64位。 不幸的是,一個64位的JVM無法加載32位的dll,因此對dll的調用必須來自其他進程,並且您必須使用rpc機制與該進程進行通信,而不是直接使用dll。 好多 工作,但可以做到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.