简体   繁体   English

无效的初始堆大小:-Xms5g

[英]Invalid initial heap size: -Xms5g

I try to open the software Cyc on windows (available here: https://sourceforge.net/projects/opencyc/files/OpenCyc%204.0/ ).我尝试在 Windows 上打开软件 Cyc(可在此处获得: https ://sourceforge.net/projects/opencyc/files/OpenCyc%204.0/)。

I follow the instructions and execute the BAT file "run-cyc" to start, then I have this message on the cmd.exe:我按照说明执行 BAT 文件“run-cyc”启动,然后在 cmd.exe 上出现此消息:

PORT OFFSET = 00
Invalid initial heap size: -Xms5g
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
...

I know I have to change the size using a command like "java -Xms200m" (which size would be the best?) but I don't know what to write exactly.我知道我必须使用“java -Xms200m”之类的命令来更改大小(哪个大小最好?)但我不知道具体要写什么。

Here is the script of the BAT file:这是BAT文件的脚本:

rem run-cyc.bat
rem
rem
rem Assumes that java 1.5 or higher (1.6 or higher preferably) is in your path

set CLASSPATH=lib\cyc.jar
set CLASSPATH=%CLASSPATH%;lib\subl.jar
set CLASSPATH=%CLASSPATH%;lib\junit.jar
set CLASSPATH=%CLASSPATH%;lib\cycSparqlEndpoint.jar
set CLASSPATH=%CLASSPATH%;resource
set CLASSPATH=%CLASSPATH%;lib\ext\
set CLASSPATH=%CLASSPATH%;plugins\
set CLASSPATH=%CLASSPATH%;lib\ant-1.6.5.jar
set CLASSPATH=%CLASSPATH%;lib\jetty-security-8.0.4.v20111024.jar
set CLASSPATH=%CLASSPATH%;lib\jetty-xml-8.0.4.v20111024.jar
set CLASSPATH=%CLASSPATH%;lib\ecj-3.5.1.jar
set CLASSPATH=%CLASSPATH%;lib\jetty-server-8.0.4.v20111024.jar
set CLASSPATH=%CLASSPATH%;lib\jsp-2.1-glassfish-2.1.v20100127.jar
set CLASSPATH=%CLASSPATH%;lib\jetty-continuation-8.0.4.v20111024.jar
set CLASSPATH=%CLASSPATH%;lib\jetty-servlet-8.0.4.v20111024.jar
set CLASSPATH=%CLASSPATH%;lib\jsp-api-2.1-glassfish-2.1.v20100127.jar
set CLASSPATH=%CLASSPATH%;lib\jetty-http-8.0.4.v20111024.jar
set CLASSPATH=%CLASSPATH%;lib\jetty-util-8.0.4.v20111024.jar
set CLASSPATH=%CLASSPATH%;lib\jetty-io-8.0.4.v20111024.jar
set CLASSPATH=%CLASSPATH%;lib\jetty-webapp-8.0.4.v20111024.jar
set CLASSPATH=%CLASSPATH%;lib\servlet-api-3.0.20100224.jar

set "BACKGROUND="

if "%1"=="-b" (
set "BACKGROUND=-b "
SHIFT
)
rem Use DEFAULT_PORT_OFFSET unless another offset was passed as the last 
rem argument this bat file

set DEFAULT_PORT_OFFSET=00

if "%1"==""  (
SET PORT_OFFSET=%DEFAULT_PORT_OFFSET%
goto :port_set
)

if  "%1"=="00" goto :set_port
if  "%1"=="20" goto :set_port
if  "%1"=="40" goto :set_port
if  "%1"=="60" goto :set_port
if  "%1"=="80" goto :set_port

rem AN INVALID PORT WAS SPECIFIED
echo ....ERROR Invalid port offset specified: %1%
if not defined BACKGROUND pause
exit

:set_port
SET PORT_OFFSET=%1

:port_set
echo PORT_OFFSET = %PORT_OFFSET%

set INIT_FORM="(progn (load \"init/jrtl-release-init.lisp\") (cinc *base-tcp-port* %PORT_OFFSET%) (load \"init/port-init.lisp\"))"

rem Add the following line to the JVM options to allow remote debugging
rem -agentlib:jdwp=transport=dt_socket,server=y,address=8888,suspend=n

java -server -Xms5g -Xmx8g -XX:MaxPermSize=256m -XX:+AggressiveOpts -XX:+UseParallelGC -XX:+UseBiasedLocking -XX:+UseFastAccessorMethods -XX:-UseSpinning -XX:PreBlockSpin=10 -XX:+UseCompressedOops -cp %CLASSPATH% com.cyc.tool.subl.jrtl.nativeCode.subLisp.SubLMain %BACKGROUND% -f %INIT_FORM%

if not defined BACKGROUND pause

So can you tell me how to change the size, and where?那么你能告诉我如何改变尺寸,在哪里改变? With a command in cmd.exe or inside the BAT file ?使用 cmd.exe 或 BAT 文件中的命令?

Thank you谢谢

删除对您的机器来说似乎太大的-Xms5g ,然后开始更小,也许您提到的-Xms200m将是一个好的起点。

You most likely need a 64 bit OS and a 64-bit Java install.您很可能需要 64 位操作系统和 64 位 Java 安装。 The release notes for OpenCyc state: OpenCyc 状态的发行说明:

Note the release notes (that you linked to!) state:请注意发行说明(您链接到的!)状态:

OpenCyc requires 3G RAM under 64bit and about 1G of disk space.
Running OpenCyc under 32bit is no longer supported.

So, while the suggested change to the BAT file might work, it is unlikely that running Cyc with half 1 the minimum recommended heap size is going to to be pleasant.因此,虽然建议的对 BAT 文件的更改可能会奏效,但运行 Cyc 与建议的最小堆大小的一半1不太可能令人愉快。


1 - The maximum Java heap size that you can expect to work on a 32 bit Windows platform is 1.5 to 1.8 GB ... for reasons due to the architecture of Windows. 1 - 可以在 32 位 Windows 平台上工作的最大 Java 堆大小为 1.5 到 1.8 GB ...由于 Windows 体系结构的原因。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM