admin 发表于 2018-5-9 17:36:04

初始化 JAVA JVM的方法

在某些情况下,NX 无法在 Windows 中正确创建 Java 虚拟机 (JVM)。发生这些情况的根本原因是缺少足够的内存来启动 JVM。在大多数内存不足的情况下,Java 都可以报告返回指示此问题的错误代码。然而在某些情况下,Java 会报告常规的出错消息,而 NX 稍后才会显示该消息。典型的出错消息为:
[*]Can’t initialize the Java Virtual Machine (JVM)
在运行 Java 应用程序(如 Wave 浏览器或交互式类编辑器)时,NX 可能会由于该问题发生意外错误。在 NX 8 中启动 JVM 时,如果 NX 检测到没有足够的内存来启动 JVM,则会显示出错消息并在系统日志中提供信息。下面是系统日志信息的示例:The JVM could not be created due to not enough memory.
The Java heap size must be contiguous and the largest contiguous block
available is outputted below.
Windows largest block free
=================================
Maximum block 267Mb
=================================
Please note, this number is to be used as suggestion for setting the heap size. It
is unlikely that you will be able to utilize the full amount.
If you need a heap size larger than what is possible you can try to use the /3GB
switch or its equivalent, if available for the Operating System you are on.
Otherwise your other option is to use Remoting. Please consult the NX Open
Programmer's Guide for more information on this topic.
重置 Java 堆的大小
要解决此问题,可重置 NX 所使用的 Java 堆的大小。选择文件→执行→替代 Java 参数打开此对话框,然后将 UGII_JVM_OPTIONS 设置为 Java 堆的大小。可试验所需的堆大小,但是如果已启动 JVM,则无法更改 UGII_JVM_OPTIONS 设置。建议同时使用 –Xmx 和 –Xms 选项。需要使用这两个选项,因为 Java 可能会确定堆大小的一些默认值,而这些默认值不符合计算机的当前内存载荷。例如:
[*]UGII_JVM_OPTIONS=–Xmx=50M –Xms=50M

在尝试确定堆大小时,请记住,如果堆大小太小,则尝试运行的 Java 程序可能不会运行。可能的原因包括计算机上的可用内存量不足或多个 Java 进程正在运行。在存在一个客户端和服务器进程的 Wava 浏览器中,可能会发生这种情况。一旦找到某个值可以起作用,您可以在 ugii_env.dat 文件中修改 UGII_JVM_OPTIONS 值,这样,您就不必在每次启动 NX 会话时在 NX Open Java 参数对话框中重置该值。

页: [1]
查看完整版本: 初始化 JAVA JVM的方法