high cpu load with foreman 0.60.2 #299

Closed
phoet opened this Issue Dec 18, 2012 · 9 comments

Projects

None yet

3 participants

@phoet
phoet commented Dec 18, 2012

since there has been no response on #260 i want to open a new issue to investigate high load of foreman process.

could you give me any pointers on what to do?

see my comment here: #260 (comment)

some more infos:

  ruby:
    interpreter:  "ruby"
    version:      "1.9.3p286"
    date:         "2012-10-12"
    platform:     "x86_64-darwin11.4.2"
    patchlevel:   "2012-10-12 revision 37165"
    full_version: "ruby 1.9.3p286 (2012-10-12 revision 37165) [x86_64-darwin11.4.2]"
gem list foreman

*** LOCAL GEMS ***

foreman (0.60.2)
redis_server:   redis-server config/redis/development.conf
web:            bundle exec unicorn -c config/unicorn/development.rb
couchdb:        couchdb
elasticsearch:  elasticsearch -f -D es.config=es/config/elasticsearch.yml
nginx:          /usr/local/sbin/nginx -c config/nginx/development.conf -p $PWD/
@fxposter
Contributor
fxposter commented Jan 7, 2013

@phoet Please, check out #303.

@phoet
phoet commented Jan 14, 2013

@fxposter i'm having a look and will report back to you

@phoet
phoet commented Jan 14, 2013

looks good for first minutes, will have a look how this works out in the long run

@phoet
phoet commented Jan 14, 2013

looks like this is only an issue on osx lion. developers with mountain lion do not have this issue in our dev team.

@fxposter
Contributor

It depends on what services are you running from foreman and how do they behave with their stdout.

@phoet
phoet commented Jan 14, 2013

what are you referring to? the services are listed above and the whole dev team uses these settings.

@fxposter
Contributor

In my case it was mongodb. Maybe you have different versions of these services amongst your team.

@phoet
phoet commented Jan 14, 2013

so you think that this pull request is not needed, because it might be an issue of one of the services?

@fxposter
Contributor

It is not an "issue" - if service closes it's stdout - foreman should handle it correctly.

@ddollar ddollar pushed a commit that closed this issue Jan 14, 2013
@fxposter fxposter Fix #299 and #260
Some processes close their output channels and IO.select keeps
returning them as "readable", while IO#gets returns nil on them, thus
spending a lot of CPU looping through the same reader continuously
aceea14
@ddollar ddollar closed this in aceea14 Jan 14, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment