On May 31, 2013, at 11:39 AM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 31 May 2013, at 11:26, Norbert Hartl <norbert@hartl.name> wrote:
Am 27.05.2013 um 10:17 schrieb phil@highoctane.be:
I was looking at the output of "top" for while and Pharo was trusting the top spot indeed.
Well, I'll look at all that this evening and give back the impressions.
I want to run several instances of Pharo on the box and it will for sure add up. Say, 20 x 2% gives an awful lot.
What is the use of having 20 idle images on one server? :) I think you can't easily say that it always adds on top. If your image is running at 100% the 2% off even if fully countable wouldn't be that much. But nevertheless it is a valid point and I cannot see pharo becomes more modern by stop polling in the mid-term future. Anyway I played a little bit with the tweaks and there are things that make me wonder. I raised the limit for server mode but didn't get much benefit. Having a cycle pause of 100ms in serverMode and stopping the ui process still gave me a 1% CPU usage which is really a lot. Does anyone know in-depth what an image is doing? How to investigate? Maybe there are a lot of native polling things involved, too? I need to dig deeper.
Killing as much non-needed process is certainly step one. A clean image has these processes:
1. Delay scheduling process 2. Input events fetching process 3. The low space watcher 4. The weak array finalization process 5. Morphic UI process 6. The idle process
So you killed 5. How did you do that exactly ? Is #serverMode still relevant when 5 is gone ? Would it be possible to kill 2 ? Is it needed for a headless server ? As long as file and socket IO keeps working, we're good.
The rest is probably all needed.
Did you try the server mode? WorldState serverMode: true. Marcus