Monit не распознает память, используемую отслеживаемым процессом
Я бегу sidekiq
на OSX 10.10.4, используя monit
с целью возобновления процесса, когда общее количество памяти увеличивается до определенного уровня. Тем не мение, monit
считает, что контролируется sidekiq
Процесс не потребляет никакой памяти. monit
вместо этого видит все использование памяти как использование системы.
Вот вывод monit status
, в то время как sidekiq
работает (началось с monit start all
:
Process 'sidekiq'
status Running
monitoring status Monitored
pid 414
parent pid 1
uid 501
effective uid 501
gid 20
uptime 0m
children 1
memory 0 B
memory total 0 B
memory percent 0.0%
memory percent total 0.0%
cpu percent 0.0%
cpu percent total 0.0%
data collected Wed, 05 Aug 2015 09:57:21
System 'me-macbook-pro.local'
status Running
monitoring status Monitored
load average [1.82] [1.31] [0.59]
cpu 11.3%us 4.6%sy
memory usage 2.3 GB [56.2%]
swap usage 0 B [0.0%]
data collected Wed, 05 Aug 2015 09:57:21
Что мне нужно сделать, чтобы получить monit
признать, что sidekiq
процесс потребляет память?
Для контекста я вставил свой .monitrc
и связанные сценарии ниже.
### .monitrc
set daemon 20
set httpd port 2812
allow me:password_censored
check process sidekiq with pidfile /Users/me/app/tmp/pids/sidekiq.pid
start program = "/bin/bash /Users/me/app/start_sidekiq.sh" with timeout 20 seconds
stop program = "/bin/bash /Users/me/app/stop_sidekiq.sh" with timeout 20 seconds
if totalmem is greater than 150 MB for 2 cycles then restart
### start_sidekiq.sh
#!/bin/sh
cd /Users/me/app
bundle exec sidekiq -C /Users/me/app/config/sidekiq.yml \
-P /Users/me/app/tmp/pids/sidekiq.pid \
-L /Users/me/app/log/sidekiq.log \
-d
### stop_sidekiq.sh
#!/bin/sh
kill -TERM `cat /Users/me/app/tmp/pids/sidekiq.pid`