【问题标题】:I have a machine with 8 GB RAM with 32 bit JVM on linux and i want to make JVM to use maximum USE OF RAM我有一台 8 GB RAM 和 32 位 JVM 在 linux 上的机器,我想让 JVM 使用最大的 RAM
【发布时间】:2012-06-15 05:51:43
【问题描述】:

我有一台 8 GB RAM 和 32 位 JVM 在 linux 上的机器,我想让 JVM 使用最大 USE OF RAM, 我认为如果我增加堆大小内存,那么垃圾收集器会变慢。是否有其他解决方案可以提高处理速度? 提前致谢。

【问题讨论】:

  • 你有安装/使用 64 位 JVM 的选项吗?
  • 您将无法在 32 位 JVM 上使用所有 ram。但是,您的问题有点不清楚,为什么需要使用 ram?根据您的设置和对象创建的特性,增加团队可能会使 GC 更慢……或更快。处理速度可能与内存有关,但请告诉我们更多您在做什么以及您想要改进的更多细节。
  • @RogerLindsjö 那是错误的。 32 位 JVM 可以使用多少 RAM 没有限制。操作系统可以使用的任何 RAM,JVM 都可以使用。 32 位限制是虚拟地址空间,而不是 RAM。 32 位进程可以使用多少 RAM 没有特别限制 - 如果操作系统可以使用它,则该进程可以使用它。
  • @DavidSchwartz 如果虚拟地址空间被限制为 32 位指针,那么它的地址不能超过 4 GB。另请参阅 stackoverflow.com/questions/1434779/…,其中引用了 oracle 常见问题解答
  • @RogerLindsjö 它没有超过 4GB 的地址空间,是的。但问题是关于RAM,而不是地址空间。有很多方法可以使用比地址空间更多的 RAM。 (最明显的是,由于磁盘缓存,读取和写入完全保留在 RAM 中的文件。)

标签: java linux jvm


【解决方案1】:

可以运行 2 个 32 位 Java 虚拟机。如果您无法升级到 64 位,则没有其他方法可以利用 8GB。

【讨论】:

    【解决方案2】:

    如果它是 Oracle JVM,则不能使用所有内存。

    升级到适合平台的 64 位 JVM。

    【讨论】:

      【解决方案3】:

      安装 64 位版本的 Linux 和 Java。

      如果您有 64 位处理器,则可以在 32 位操作系统上运行 64 位 VirtualBox。 Source

      【讨论】:

      • 目前我们无法升级 64 位 linux。所以任何其他解决方案。
      • 如果您有 64 位处理器,则可以运行 64 位 VirtualBox。
      猜你喜欢
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      • 1970-01-01
      • 2013-02-12
      • 2012-03-19
      • 1970-01-01
      • 2017-06-05
      • 2016-09-21
      相关资源
      最近更新 更多