SQL Developer einfrieren mit GC overhead limit exceeded Fehler auf MySQL-Datenbank
Ich bin versucht, Oracle SQL Developer mit einer MySQL-Datenbank. Ich kann eine Verbindung einwandfrei und ich kann die Ausführung von Abfragen, ich kann sehen, den Tischen und mit einer Tabelle ausgewählt, ich kann Sie auf alle tabs in Ordnung, mit der Ausnahme des "Data" - Registerkarte. Wenn ich auf den "Data" - Registerkarte, bekomme ich eine Meldung "Waiting for Editor zu initialisieren" und SQL Developer friert. Nach ein paar Minuten bekomme ich eine Meldung "GC overhead limit exceeded" mit den folgenden stack
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)
Schaute ich mich um stackoverflow undn google, aber ich konnte nicht finf alles, was für mich funktioniert. Bei mir läuft das auf Windows 7 64bit, SQL-Developer-version 4.0.3.16, MySQL-server, version 5.5. Ich habe eine Zeile
AddVMOption -Xmx1024M
in der sqldeveloper\sqldeveloper\bin\sqldeveloper.conf-Datei, wie hier vorgeschlagen
und auch Hinzugefügt, verändert sich die anfangs-und max memory allocation pool-Größen in den
C:\Users\\AppData\Roaming\sqldeveloper\1.0.0.0.0\product.conf Datei
AddVMOption -Xms512m
und
AddVMOption -Xmx1024m
beziehungsweise. Ich bin der überwachung der performance und ich bin nicht der Speicher ausgeht, aber die CPU Auslastung geht auf über 90%.
Dank!
InformationsquelleAutor user1356326 | 2014-12-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie Bearbeiten Sie die
sqldeveloper\sqldeveloper\bin\sqldeveloper.conf
- Datei, hinzufügen der folgenden Zeile:-jvm flags eingestellt werden müssen, um in das Produkt.conf-Datei, siehe die anderen Antworten - deine Antwort war genau VOR version 4.0
InformationsquelleAutor user2181102
Gibt es 2 Parameter für den Speicher in der JVM:
XMS
undXMX
.XMS
ist die ursprüngliche Größe in Byte, für jede JVM, gefeuert zu werden-bis in Ihre Maschine.XMX
ist die maximale chunk-Speicher, die Sie wollen, zur Verfügung stehen, um Ihre VMs.Sollten Sie versuchen und erhöhen (mit Schrittweite abhängig von deiner Maschine) beide Werte.
In Ihrem
%APPDATA/sqldeveloper/<yourVersion>/product.conf
legen Sie dieXMS
auf ein beliebiges Vielfaches von128m
mit derAddVMOption
parameter.Den Sie verwenden konnten, zum Beispiel
AddVMOption -Xms3072m
Mit diesem parameter können Sie kommentieren Sie die Werte schließlich zu
XMX
.Wenn Sie immer wieder erhalten die gleichen Fehler immer auf die Inkrementierung der parameter, bis es reibungslos läuft.
BEWUSST SEIN
Wenn Sie, durch Zufall, setzen Sie den Wert des XMS als etwas Wert, der größer ist als der verfügbare Speicher Ihres Systems, erhalten Sie einen anderen Fehlermeldung beim starten der JVM oder jede Anwendung, die läuft auf der.
InformationsquelleAutor LuizAngioletti
Ist es irgendwie einstellen XX:+UseParallelGC-flag beim Start?
Könnte helfen, Ihre gc, effizienter zu arbeiten.
InformationsquelleAutor anonymous