我有一个小程序,应该使用STM执行并行银行转账,所以我在不同的机器上进行测试,有2核和1核。在2核机器上一切正常,但在1核机器上,当我执行100万个并行事务时,会抛出Java内存溢出错误。
错误信息如下:"AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space 另外,我有一个Java同步版本的相同程序,它可以工作,即使速度较慢,也可以达到100万次交易。
我该怎么做才能让我的Clojure应用程序在1核机器上工作?我担心垃圾回收器无法处理这么多的Refs...你认为呢?
非常感谢您的帮助!
更新: 现在它已经可以工作了,我执行了
我不知道可以为JVM增加堆大小,这正是我的问题所在。 非常感谢“sw1nn”的好评论;)
错误信息如下:"AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space 另外,我有一个Java同步版本的相同程序,它可以工作,即使速度较慢,也可以达到100万次交易。
我该怎么做才能让我的Clojure应用程序在1核机器上工作?我担心垃圾回收器无法处理这么多的Refs...你认为呢?
非常感谢您的帮助!
更新: 现在它已经可以工作了,我执行了
java -Xmx1000m -jar myprog.jar
,完美地运行了!我不知道可以为JVM增加堆大小,这正是我的问题所在。 非常感谢“sw1nn”的好评论;)