私はjruby-9.0.4.0
で実行中のRailsアプリケーションを持っていて、WebサーバーとしてPumaを使用しています。PumaデーモンにJavaオプションを渡すには?
puma
のメモリ制限を引き上げようとしています。現在のフラグは-Xmx500m -Xss2048k
です。私は_JAVA_OPTIONS=-Xss4096k -Xmx2048m
を私のenv
に加え、すべてのjruby
プロセスはrake assets:precompile
のようにそれを使用しますが、puma
インスタンス自体はそうではありません。カピストラーノトレースの
パート
DEBUG [0aec947c] Command: cd
/dummy/production/releases/20160707071111 && (
export RBENV_ROOT="/usr/local/rbenv" RBENV_VERSION="jruby-9.0.4.0"
RAILS_ENV="production" ; /usr/local/rbenv/bin/rbenv exec bundle exec
rake assets:precompile)
DEBUG [0aec947c] Picked up _JAVA_OPTIONS: -Xss4096k -Xmx2048m
のconfig/puma.rb
# Min and Max threads per worker
threads 8, 512
# Default to production
rails_env = ENV['RAILS_ENV'] || 'production'
environment rails_env
app_dir = "/dummy/#{rails_env}/current"
# Set up socket location
bind "tcp://localhost:3000"
# Logging
stdout_redirect "#{app_dir}/log/puma.stdout.log", "#{app_dir}/log/puma.stderr.log", true
# Set master PID and state locations
pidfile "#{app_dir}/pids/puma.pid"
state_path "#{app_dir}/pids/puma.state"
activate_control_app
ENV変数
JAVA_OPTS=-Xss4096k -Xmx2048m
_JAVA_OPTIONS=-Xss4096k -Xmx2048m
JAVA_HOME=/usr/lib/jvm/java-7-oracle-amd64
cat /proc/<pid>/environ
RBENV_ROOTの出力=は/ usr/local/rbenvprevious = NUPSTART_JOB = rcPATH = /ダミー/生産/共有/バンドル/ JRubyの/ 2.2.0は、/ binに:は/ usr/local/rbenv /バージョン//bin /:/ usr/local/sbin:/ usr/local/bin /:/ bin /:/ usr/bin/production/releases/20160707133222RBENV_DIR =/dummy/production/releases/20160707133222SUPERVISOR_SERVER_URL = unix:///var/run/supervisor.sockUPSTART_EVENTS=runlevelRUNLEVEL=2NLSPATH=/usr/dt/lib/nls/msg/%L/%N.catSUPERVISOR_PROCESS_NAME = dummyprocessSUPERVISOR_ENABLED = 1XFILESEARCHPATH =/usr/dt/app-defaults /%L/DtSHLVL = 0UPSTART_INSTANCE = PREVLEVEL = NRBENV_VERSION = jruby-9.0.4.0RBENV_HOOK_PATH =:/ usr/local/rbenv/rbenv.d:/ usr/local/etc /rbenv.d:/etc/rbenv.d:/usr/lib/rbenv/hooksrunlevel=2SUP ERVISOR_GROUP_NAME = dummyprocessTERM = linuxRUBYOPT = -rbundler/setupRUBYLIB =は/ usr/local/rbenv /バージョン/ JRubyの-9.0.4.0/libに/ルビー/宝石/共有/宝石/バンドラ-1.11.2 /リンクフォルダ
マシン24コアのRAMを搭載した8コアです。
puma
インスタンスでもJava
オプションを取得させるにはどうすればよいですか。
私の環境ではすでにこれらの変数を持っていますが、Pumaデーモンはそれらを選択していないようです。それはそれ自身のフラグで起動するので、他のすべての変数は無視されます。私は私のenvを追加する質問を更新します。しかし、ありがとう。 –
Pumaデーモンの起動方法は?プーマプロセスの実際の環境は何ですか? 'cat/proc//environ'を実行すると印刷できます。ここで' 'はプーマデーモンのプロセスIDです。 –
コメントに長すぎるため、質問に追加しました。 –