目前我的sidekiq經常達到內存閾值。我在sidekiq下的流程中進行了一些更改,以減少完成任務所需的時間。但在此期間,我想知道是否有任何方法可以在我的sidekiq工作進程達到某些預定義的內存限制時優雅地殺死它,然後重新啓動它。我該如何在達到內存閾值時殺死sidekiq worker
2
A
回答
1
使用命令
ps aux | grep sidekiq
然後發出USR1信號父進程查找父進程的PID。這將讓孩子成爲當前請求,然後殺死他們
kill -USR1 <pid>
,然後開始你的sidekiq怎麼樣,你通常會開始
0
您可以使用MMonit,Unix的監控系統,您可以通過定義條件當條件滿足時,每個過程和動作都將採取(開始,停止或重新啓動過程)。
例子:
check process apache with pidfile /var/run/httpd.pid
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if cpu > 40% for 2 cycles then alert
if totalcpu > 60% for 2 cycles then alert
if totalcpu > 80% for 5 cycles then restart
if mem > 100 MB for 5 cycles then stop
if loadavg(5min) greater than 10.0 for 8 cycles then stop
如果要自動大廚您的基礎設施,有一個mmonit食譜從而簡化mmonit增色不少。
UPDATE:我發現了一個關於Monit的Railscast(專業版),http://railscasts.com/episodes/375-monit。
相關問題
- 1. 如何殺死Sidekiq工人?
- 2. 如何在達到內存或持續閾值時通知ActiveMQ
- 3. ruby on rails如何殺死resque worker
- 4. 我該如何殺死這個過程?
- 5. NodeJS assert.AssertionError:我該如何殺死它?
- 6. 我該如何殺死應用程序?
- 7. 如何殺死它存在
- 8. Sidekiq刪除或殺死中間件內的作業
- 9. 登錄Sidekiq worker
- 10. 如何在使用共享內存時處理殺死(kill -9)?
- 11. 如何殺死後臺作業在resque像寶石sidekiq
- 12. 如何在殺死一個php腳本時殺死passthru進程?
- 13. 。我如何殺死它?
- 14. Qt - 如何殺死QThread
- 15. 當主進程突然死亡時,我該如何殺死linux spawnProcess?
- 16. 如何殺死多進程中的所有Pool worker?
- 17. 如何殺死
- 18. 當我按下清除內存時Android殺死服務
- 19. 我該如何在每秒之後殺死一個進程?
- 20. 在Python 2.5中,我該如何殺死一個子進程?
- 21. 我應該何時取消/殺死一個線程?
- 22. 殺死OpenCL內核
- 23. 如何在退出時殺死線程?
- 24. 如何殺死在MATLAB
- 25. 如何殺死在Android的
- 26. 如何殺死在Windows 7
- 27. 如何殺死在Linux中
- 28. 如何殺死在vb.net
- 29. YARN的內存殺死限制問題
- 30. 如何殺死一個子線程,如果它在linux中花費的時間超過閾值