我正在尝试将 Oracle SQL Developer 与 MySQL 数据库结合使用。我可以很好地连接并且可以执行查询,我可以看到表格,并且选择了一个表格后我可以很好地单击除“数据”选项卡之外的所有选项卡。当我单击“数据”选项卡时,我收到一条消息“等待编辑器初始化”并且 SQL Developer 卡住。几分钟后,我收到带有以下堆栈的消息“超出 GC 开销限制”
java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:2114)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1921)
at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:3278)
at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:462)
at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:2997)
at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:2245)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2638)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2530)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1907)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2030)
at oracle.dbtools.raptor.controls.grid.ResultSetTableModel.openResultSet(ResultSetTableModel.java:490)
at oracle.dbtools.raptor.controls.grid.ResultSetTableModel.fetchNext(ResultSetTableModel.java:274)
at oracle.dbtools.raptor.controls.grid.ResultSetTableModel$4.doWork(ResultSetTableModel.java:686)
at oracle.dbtools.raptor.controls.grid.ResultSetTableModel$4.doWork(ResultSetTableModel.java:670)
at oracle.dbtools.raptor.backgroundTask.RaptorTask.call(RaptorTask.java:193)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at oracle.dbtools.raptor.backgroundTask.RaptorTaskManager$RaptorFutureTask.run(RaptorTaskManager.java:554)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
我环顾了 stackoverflow 和谷歌,但找不到任何适合我的东西。我在 Windows 7 64 位、SQL Developer 版本 4.0.3.16、MySQL 服务器版本 5.5 上运行它。我加了一行
AddVMOption -Xmx1024M
在 sqldeveloper\sqldeveloper\bin\sqldeveloper.conf 文件中,如这里所建议的那样
并且还添加了更改的初始和最大内存分配池大小 C:\Users\\AppData\Roaming\sqldeveloper\1.0.0.0.0\product.conf文件到
AddVMOption -Xms512m
和
AddVMOption -Xmx1024m
分别。我正在监控性能,我没有用完内存,但 CPU 利用率超过 90%。
谢谢!
最佳答案
您需要编辑 sqldeveloper\sqldeveloper\bin\sqldeveloper.conf
文件,添加以下行:-
AddVMOption -Xmx1024M
关于java - SQL Developer 在 MySQL 数据库上因 GC 开销限制超过错误而卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27300949/