主页 > 知识库 > 网络编程 > JSP/Java >

Java 出现 OutOfMemoryError

来源:中国IT实验室 作者:佚名 发表于:2013-05-17 13:35  点击:
如果在运行Java程序时出现以下的栈跟踪信息: Java代码: java.sql.SQLException: java.lang.OutOfMemoryError: Java heap space at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.SQLError.createSQLException(SQL
如果在运行Java程序时出现以下的栈跟踪信息:    Java代码:
    java.sql.SQLException: java.lang.OutOfMemoryError: Java heap space
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:435)
    at com.mysql.jdbc.PreparedStatement.getInstance(PreparedStatement.java:872)
    说明程序耗尽了JVM能够使用操作系统的最大内存。
    此时可以检查代码是否有过度创建对象的嫌疑。如果没有,可以在java命令行中使用非标准的选项
    Command代码:
    -Xmsp
    -Xmxp
    (-Xms 和 -Xmx 的第一个X必须大写,否则无法辨认)
    第一个参数指定初始内存大小,比如设置成5M,-Xms5m .(m或M都行)
    第二个参数指定最大内存,即JVm能够从操作系统中获取的最大内存值。比如设置成10M -Xmx10m .
    一般初始大小值小于最大值。 -Xms < -Xmx
    一个简单的例子:
    Command代码:
    java -Xms128m -Xmx256m

    有帮助
    (0)
    0%
    没帮助
    (0)
    0%