之前测试mycat,均是在4G内存的win64位操作系统上,mycat默认配置下,将具体需求配置好后均可正常启动。
后将测试环境搬到win2003系统上,服务器仅有2G内存,启动bin下的startup_nowrap.bat,窗口一闪而过,将mycat做成服务启动,启动报错1067。如下是解决步骤:
1、在startup_nowrap.bat里换行后加入pause保存重新运行,可以看到报错信息如下:
2、这里可以看出是jvm设置的问题,mycat的jvm设置在startup_nowrap.bat,打开后可以清楚看到如下配置:
"%JAVA_CMD%" -server -Xms1G -Xmx2G -XX:MaxPermSize=64M -XX:+AggressiveOpts -XX:MaxDirectMemorySize=1G -DMYCAT_HOME=%MYCAT_HOME% -cp "..\conf;..\lib\*" io.mycat.MycatStartup
这里将-Xms1G改成-Xms512M,-Xmx2G改成-Xmx1024M,保存后重新启动即可。
此问题解决前提是JDK正常安装且环境变量配置正确。