簡體   English   中英

Clojure STM出Memory

[英]Clojure STM Out of Memory

我有一個應該使用 STM 執行並行銀行轉賬的小程序,所以我在不同的機器上測試它,2 核和 1 核。 在 2 核機器中一切正常,但在 1 核機器中,當我執行 100 萬個並行事務時,會拋出 Java Out of Memory 錯誤。

報錯如下“AWT-EventQueue-0” java.lang.OutOfMemoryError: Java heap space

我還有一個可以運行的同一程序的 Java 同步版本,即使速度較慢,它也可以達到一百萬個事務。

如何使我的 Clojure 應用程序在 1 核機器上運行? 恐怕垃圾收集器無法處理這么多 Refs……你怎么看?

非常感謝你的幫助!

更新:它現在可以工作了,我做了java -Xmx1000m -jar myprog.jar並且工作得很好!

我不知道可以增加 JVM 的堆大小,而這正是我的問題。 非常感謝“sw1nn”的精彩評論;)

您還可以將 jvm-opts 添加到您的 leiningen project.clj 中,如下所示:

:jvm-opts ["-Xmx1500m"]

在 leiningen 中運行程序時指定它。(如測試)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM