Closed Zhomart closed 9 years ago
seems you have some exception, can you find it in eye log?
I found only this kind of many errors:
13.02.2015 20:40:32 ERROR -- [my_project:resque:general-7] check:memory(<400Mb) attempted to call a dead actor ["/usr/local/rvm/gems/ruby-2.1.5/gems/celluloid-0.15.2/lib/celluloid/proxies/sync_proxy.rb:23:in `method_missing'", "/usr/local/rvm/gems/ruby-2.1.5/gems/eye-0.6.4/lib/eye/system_resources.rb:9:in `memory'", "/usr/local/rvm/gems/ruby-2.1.5/gems/eye-0.6.4/lib/eye/checker/memory.rb:10:in `get_value'", "/usr/local/rvm/gems/ruby-2.1.5/gems/eye-0.6.4/lib/eye/checker.rb:133:in `get_value_safe'", "/usr/local/rvm/gems/ruby-2.1.5/gems/eye-0.6.4/lib/eye/checker.rb:105:in `check'", "/usr/local/rvm/gems/ruby-2.1.5/gems/eye-0.6.4/lib/eye/process/watchers.rb:60:in `watcher_tick'", "/usr/local/rvm/gems/ruby-2.1.5/gems/eye-0.6.4/lib/eye/process/watchers.rb:42:in `call'", "/usr/local/rvm/gems/ruby-2.1.5/gems/eye-0.6.4/lib/eye/process/watchers.rb:42:in `block in add_watcher'", "/usr/local/rvm/gems/ruby-2.1.5/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416:in `block in task'", "/usr/local/rvm/gems/ruby-2.1.5/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55:in `block in initialize'", "/usr/local/rvm/gems/ruby-2.1.5/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13:in `block in create'"]
before first this error, should be exception
looks like Sigar exception, what OS are use using?
try this in rib:
require 'eye'
Eye::Control
Eye::SystemResources.memory($$)
Eye::SystemResources.cpu($$)
Currently the error happened several times when processes were under heavy load.
While looking at eye.log I found more info
13.02.2015 20:38:55 ERROR -- [celluloid] Eye::Process crashed!
Celluloid::DeadActorError: attempted to call a dead actor
13.02.2015 20:38:55 ERROR -- [celluloid] Eye::Group crashed!
Celluloid::DeadActorError: attempted to call a dead actor
13.02.2015 20:38:55 ERROR -- [celluloid] Eye::Controller crashed!
Celluloid::DeadActorError: attempted to call a dead actor
13.02.2015 20:38:55 ERROR -- [celluloid] Eye::Server crashed!
Celluloid::DeadActorError: attempted to call a dead actor
...
13.02.2015 20:38:23 ERROR -- [celluloid] Eye::Process crashed!
Celluloid::DeadTaskError: cannot resume a dead task (can't alloc machine stack to fiber: Cannot allocate memory)
13.02.2015 20:38:23 ERROR -- [celluloid] Eye::Process crashed!
Celluloid::DeadTaskError: cannot resume a dead task (can't alloc machine stack to fiber: Cannot allocate memory)
Celluloid::DeadTaskError: cannot resume a dead task (can't alloc machine stack to fiber: Cannot allocate memory)
13.02.2015 20:38:23 ERROR -- [celluloid] Eye::Process: ERROR HANDLER CRASHED!
I'll try to change max_mem and reduce number of workers, then try stress test again.
Results of your script:
2.1.5 :001 > require 'eye'
=> true
2.1.5 :002 > Eye::Control
=> #<Celluloid::ActorProxy(Eye::Controller:0x67ca3c) @applications=[] @current_config=#<Eye::Config:0x00000000c404f0 @settings={}, @applications={}> @logger=#<Eye::Logger:0x00000000c15728 @prefix="Eye", @subprefix=nil, @pref_string="[Eye] ">>
2.1.5 :003 > Eye::SystemResources.memory($$)
=> 19415040
2.1.5 :004 > Eye::SystemResources.cpu($$)
=> 0.0
2.1.5 :005 >
this is not exception, marked as [celluloid], usually celluloid output when eye quit. Find first exception before first attempted to call a dead actor
I couldn't find any exceptions.
I started getting this error
unexpected server response :corrupted_data
when I try to check info using$ eye i
. Restarting eye helps. But the error appears in sometime again.I have ~22 processes to monitor.
My eye conf file
In the log files I found this