2015-07-12 374 views
0

我在我的Rails應用程序中使用Sidekiq與上帝。我正在使用Passenger和Nginx。Sidekiq消耗太多內存

我看到許多進程(30-50)由sidekiq運行,它消耗大約1000MB的RAM。

過程如:

  • sidekiq 3.4.1 my_app_name [0 1繁忙] - 約30處理。

  • ruby​​ /home/myuser/.rvm/ruby-2.1.5/bin/sidekiq --environment ... - 大約20個進程。

如何判斷sidekiq不運行如此多的線程。

我的配置爲sidekiq(配置/ sidekiq.yml):

--- 
:concurrency: 1 
:queues: 
    - default 
    - mailer 

和配置爲sidekiq爲神:

num_workers = 1 

num_workers.times do |num| 
    God.watch do |w| 
    ... 

    w.start = "bundle exec sidekiq --environment #{rails_env} --config #{rails_root}/config/sidekiq.yml --daemon --logfile #{w.log}" 
+0

如果你沒有使用god來啓動sidekiq,你會得到同樣的行爲嗎? – Rots

+0

如果我在命令行中運行: 'bundle exec sidekiq -e beta -c 1 -C /../config/sidekiq.yml -d -L /../log/sidekiq.log'然後它啓動10個進程'sidekiq 3.4.1 my_app_name [0 of 1 busy]''。但我說-c 1,所以我期望它運行一個進程。它沒有上帝它工作正常 –

+0

。 –

回答

1

問題是與 「--daemon」(或「 - d「)參數,它作爲守護進程運行。無需將其作爲守護進程運行。只需刪除此參數。