我尝试在 Windows 上打开软件 Cyc(可在此处获取:https://sourceforge.net/projects/openencyc/files/OpenCyc%204.0/)。
我按照说明执行 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.
...
我知道我必须使用“java -Xms200m”之类的命令更改大小(哪个大小最好?),但我不知道到底要写什么。
这是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
那么您能告诉我如何更改尺寸以及在哪里更改吗?使用 cmd.exe 中的命令或 BAT 文件中的命令?
谢谢你
删除对于您的机器来说太大的
-Xms5g
,并从较小的开始,也许您提到的-Xms200m
将是一个不错的起点。
您很可能需要 64 位操作系统和 64 位 Java 安装。 OpenCyc 的发行说明状态:
注意发行说明(您链接到的!)状态:
OpenCyc requires 3G RAM under 64bit and about 1G of disk space.
Running OpenCyc under 32bit is no longer supported.
因此,虽然对 BAT 文件的建议更改可能有效,但以建议堆大小的1一半1运行 Cyc 不太可能令人愉快。
1 - 由于 Windows 体系结构的原因,您可以在 32 位 Windows 平台上运行的最大 Java 堆大小为 1.5 到 1.8 GB。