如何为clojure heroku应用程序指定最大内存?

如何为clojure heroku应用程序指定最大内存?,heroku,clojure,Heroku,Clojure,在Heroku上运行clojure应用程序,我已经在我的leiningen profiles.clj中指定了这一点 :jvm opts^:replace[-Xms128m-Xmx350m-Xss512k-XX:MaxMetaspaceSize=150m] 我正在用莱恩蹦床跑来跑我的工人 但是,我目前收到以下错误: 2015-06-20T14:38:14.652680+00:00 heroku[worker.1]:超过错误R14内存配额 2015-06-20T14:38:34.779145+00

在Heroku上运行clojure应用程序,我已经在我的leiningen profiles.clj中指定了这一点

:jvm opts^:replace[-Xms128m-Xmx350m-Xss512k-XX:MaxMetaspaceSize=150m]

我正在用莱恩蹦床跑来跑我的工人

但是,我目前收到以下错误:

2015-06-20T14:38:14.652680+00:00 heroku[worker.1]:超过错误R14内存配额 2015-06-20T14:38:34.779145+00:00 heroku[worker.1]:进程运行mem=552M107.8% 2015-06-20T14:38:34.779145+00:00 heroku[worker.1]:超过错误R14内存配额 2015-06-20T14:38:54.511927+00:00 heroku[worker.1]:进程运行mem=552M107.8%


由于350+150=500,我希望我的内存使用量应该低于Heroku的512MB限制。是否需要添加另一个最大内存设置?

Heroku正在限制进程内存,这与JVM分配的内存不同。例如,见:


Heroku限制了进程内存,这与JVM分配的内存不同。例如,见:


这是真的。JVM通常需要50mb到100mb的额外进程内存,用于操作系统堆,而不是JVM堆、本机库、文件句柄、IO缓冲区等。您可以尝试将Xmx设置得更低或-XX:MaxDirectMemorySize设置得非常低。谢谢,我会尝试一下,Diego&codefinger。希望较低的Xmx可以解决这个问题。FWIW,我的案例似乎需要112MB的空间来完成这个过程。@Rogeralen为了解决这个问题,您最终将jvm选项设置为什么?遇到了同样的问题,但我不清楚您是如何处理流程所需的112MB空间的。谢谢这是真的。JVM通常需要50mb到100mb的额外进程内存,用于操作系统堆,而不是JVM堆、本机库、文件句柄、IO缓冲区等。您可以尝试将Xmx设置得更低或-XX:MaxDirectMemorySize设置得非常低。谢谢,我会尝试一下,Diego&codefinger。希望较低的Xmx可以解决这个问题。FWIW,我的案例似乎需要112MB的空间来完成这个过程。@Rogeralen为了解决这个问题,您最终将jvm选项设置为什么?遇到了同样的问题,但我不清楚您是如何处理流程所需的112MB空间的。谢谢您最终使用什么作为jvm选项来解决这个问题?我遇到了同样的问题,但不清楚您是如何使用下面的注释来解决它的,您是否只是将Xmx减少了50mb以计算额外的50mb?我在这里得到了一组选项:已经有一段时间了,所以我不太记得我是如何准确地解决这个问题的…谢谢,现在我正在尝试-Xms100m-Xmx300m-Xss512k,到目前为止它似乎有一个很好的结果,保持在500MB以下。你最终用什么来解决这个问题?我遇到了同样的问题,但不清楚您是如何使用下面的注释来解决它的,您是否只是将Xmx减少了50mb以计算额外的50mb?我在这里得到了一组选项:已经有一段时间了,所以我不太记得我是如何准确地解决这个问题的…谢谢,现在我正在试用-Xms100m-Xmx300m-Xss512k,到目前为止它似乎有一个很好的效果,保持在500MB以下。