【问题描述】
EsgynDB执行update操作时提示如下内容:
SQL>UPDATE temp_table_CPTGetSpList a SET seq_no=(SELECT seq_no FROM me_meeting b WHERE a.cpttableid=b.id and a.cpttablename='me_meeting' ) WHERE EXISTS (SELECT 1 FROM me_meeting b WHERE a.cpttableid=b.id and a.cpttablename='me_meeting'); *** WARNING[4499] The operation may cause the Java virtual machine ran out of memory, so SQL compiler reduced the cache_size from 100 to 2, please consider increasing JVM_MAX_HEAP_SIZE_MB or ESP_JVM_MAX_HEAP_SIZE_MB to more than 160 MB. [2020-06-12 09:59:39] *** WARNING[4499] The operation may cause the Java virtual machine ran out of memory, so SQL compiler reduced the cache_size from 472 to 2, please consider increasing JVM_MAX_HEAP_SIZE_MB or ESP_JVM_MAX_HEAP_SIZE_MB to more than 756 MB. [2020-06-12 09:59:39] --- 6 row(s) updated.
【问题原因】
更新数据量大,可能导致Java虚拟机内存不足;
【问题解决】
修改数据库 Java虚拟机内存大小,将JVM_MAX_HEAP_SIZE_MB、ESP_JVM_MAX_HEAP_SIZE_MB两个参数修改为1024(大于160M和756M<查看【问题描述】警告中提示的大小>);
$ cd /var/lib/trafodion/ $ cat ms.env| grep HEAP JVM_MAX_HEAP_SIZE_MB=1024 ESP_JVM_MAX_HEAP_SIZE_MB=1024
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69985104/viewspace-2726705/ ,如需转载,请注明出处,否则将追究法律责任。