Ich habe eine Rails-Anwendung auf jruby-9.0.4.0
läuft und mit Puma als Webserver.Wie Übergeben von Java-Optionen an Puma-Daemon?
Ich versuche, die Speichergrenze von puma
zu erhöhen; Die aktuellen Flags sind -Xmx500m -Xss2048k
. Ich habe _JAVA_OPTIONS=-Xss4096k -Xmx2048m
meiner env
und alle jruby
Prozesse verwenden Sie es wie rake assets:precompile
zum Beispiel, aber die puma
Instanz selbst nicht.
Teil Capistrano Spur
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 Variablen
JAVA_OPTS=-Xss4096k -Xmx2048m
_JAVA_OPTIONS=-Xss4096k -Xmx2048m
JAVA_HOME=/usr/lib/jvm/java-7-oracle-amd64
Ausgabe von cat /proc/<pid>/environ
RBENV_ROOT =/usr/local/rbenvprevious NUPSTART_JOB = = = rcPATH/dummy/Produktion/shared/Bündel/jruby/2.2.0/bin:/usr/local/rbenv/Versionen/jruby-9.0.4.0/bin:/usr/local/rbenv/libexec:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binPWD =/dummy/Produktion/Freigaben/20160707133222RBENV_DIR =/Dummy/Produktion/Freigaben/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/lokal/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/versions/JRuby-9.0.4.0/lib/Rubin/Edelsteine / shared/Edelsteine / Bündler-1.11.2/libroot
Maschine ist ein 8-Core mit 24 GB RAM. Wie kann ich die puma
Instanz auch die Java
Optionen abholen lassen?
Ich habe diese Variablen bereits in meiner Umgebung, der Puma-Daemon scheint sie nicht aufzunehmen. Es startet mit eigenen Flags und ignoriert somit alle anderen Variablen. Ich werde die Frage aktualisieren, um mein env hinzuzufügen. Trotzdem danke. –
Wie wird der Puma-Daemon gestartet? Wie ist die tatsächliche Umgebung des Puma-Prozesses? Sie können es drucken, indem Sie 'cat/proc//environ' ausführen, wobei' 'die Prozess-ID des Puma-Daemon ist. –
Es wurde der Frage hinzugefügt, da es für einen Kommentar zu lang ist. –