我的 Solaris 服务器有问题。当我启动一个内存受限的 Sun Java 进程时,它需要两倍以上的资源。
例如,我的服务器上有 64 Go 内存。1 在 Linux 上,其他在 Solaris 上。我在所有服务器上运行相同的软件(仅 java)。
当服务器启动时,它们占用了 400Mb 到 1.2Gb 的 RAM。我启动了我的 java 进程(每个 java 进程通常在 4 到 16go 之间)并且我不能运行超过 32 Gb 的 Xmx 和 Xmx 值定义。我遇到了这种错误:
> /java -d64 -Xms8G -Xmx8G -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
正如我们在这里看到的,我有很多保留的内存,它是由 java 进程创建的:
> swap -s
total: 22303112k bytes allocated + 33845592k reserved = 56148704k used, 704828k available
一旦我一个一个地杀死他们,我就恢复了我的保留空间并可以发射其他人。但实际上我不能使用超过一半的内存。
有人知道如何解决这个问题吗?
谢谢