在windows运行 IoTDB1.x时 会出现如图所示的问题
为什么会出现这样的问题?java没有安装还是未调用成功,我是JAVA8~11~17各种更换都未能解决问题,最后对其bat文件进行查看,发现在conf\datanode-env.bat、conf\confignode-env.bat这两个文件的
在最后的MAX_HEAP_SIZE不对了,最初的解决方案是,给设定了一个固定的 max_heap_size_in_mb参数值,例如:
set max_heap_size_in_mb = 1024
此处设置的大小为MB,不能超过系统内存的1/8不然也会因为内存问题而启动失败
但是部署在客户现场的话不可能每次就更改大小,所以经过测试发现在
if %half_% GTR 1024 set half_=1024
if %quarter_% GTR 65536 set quarter_=65536
if %half_% GTR %quarter_% (
set max_heap_size_in_mb=%half_%
) else set max_heap_size_in_mb=%quarter_%
在重新设置quarter_值得时候导致,后续的quarter_总是大于half_,例如你电脑是8G内存,那么最后half_为1G,quarter_成了2G,那么肯定会启动失败,
所以最终文件进行修改,
if %half_% GTR 1024 set half_=1024
if %quarter_% GTR 65536 set quarter_=65536
@REM if %half_% GTR %quarter_% (
set max_heap_size_in_mb=%half_%
@REM ) else set max_heap_size_in_mb=%quarter_%
注释掉相应的判断,让内存的设置永远跟着half_去走,也就是1G的使用量,在win10、server2016下8G、16G内存空间试用均无异常。