My Phoenix应用程序正在达到Erlang VM的最大进程限制,为特定Phoenix应用程序指定erl(如+ P)的自定义选项的最佳方式是什么(甚至更好,仅适用于MIX_ENV = PROD )?有没有办法通过应用程序的配置文件来做到这一点?或者如果没有,也许当我运行"混合phoenix.server"?
答案 0 :(得分:14)
您可以使用elixir
以--erl
标志运行应用程序:
elixir --erl "+P 10000000" -S mix phoenix.server
如果你想要一个shell,你可以使用iex
代替:
iex --erl "+P 10000000" -S mix phoenix.server
以下是elixir命令的用法副本。
用法:elixir [options] [.exs file] [data]
-v打印版本并退出
-e“command”计算给定的命令()
-r“file”需要给定的文件/模式()
-S“script”查找并执行给定的脚本
-pr“file”并行需要给定的文件/模式()
-pa“path”将给定路径添加到Erlang代码路径()
-pz“path”将给定路径追加到Erlang代码路径()
--app“app”启动给定的应用及其依赖项()
--erl“开关”切换到传递给Erlang(*)
--name“name”为分布式节点制作并指定名称
--sname“name”为分布式节点制作并指定一个短名称
--cookie“cookie”为此分布式节点设置cookie --hidden创建隐藏节点
--detached启动从控制台分离的Erlang VM --werl使用Erlang的Windows shell GUI(仅限Windows)
--no-halt执行后不停止Erlang VM**标有(*)的选项可以多次给出 ** .exs文件后给出的选项或 - 传递给执行的代码
将选项传递给Erlang运行时
**可以使用ELIXIR_ERL_OPTIONS或--erl
如果您使用的是exrm
,那么您也可以在vm.args
文件https://hexdocs.pm/exrm/release-configuration.html