Squeak running as windows service behaves differently

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Squeak running as windows service behaves differently

vaidasd
Hello,
Maybe someone more experienced with windows vm could explain why
squeak.exe eats 100% of CPU when Squeak is run as windows service.
Same script runs without problems in normal mode. Digging in the past
I found John M McIntosh guess about the reason of this problem:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2004-September/082280.html
but problem seems to be platforms specific and I'm not experienced
changing VM. Has anyone else been bitted by this since? Should I try
another sockets implementation / image (e.g. squeakland) / VM?


Details:
We work on bridge that accepts SOAP request from Oracle and executes
com-method via dot-net bridge. Dot net bridge uses separate exe to
communicate with .NET. Squeak uses sockets to communicate with that
process. All is fine until I run squeak as a service. When service
started, after third of such a call squeak.exe eats CPU 99%-100%.
While squeak remains responsive (accepts SOAP calls), tallying CPU
usage when CPU is 100% with ProcessBrowser tallyCPUUsageFor: 10 shows
nothing: 1 % is taken by UI, and rest is taken by idle process.

Squeak 3.8, VM 3.7.1, Windows 2000 workstation, service pack 4.
p.s
Squeak as a service did test 4-5 times slower :(. I wonder why.

Thank you,
--
Vaidotas Didžbalis


Reply | Threaded
Open this post in threaded view
|

RE: Squeak running as windows service eats 99% CPU

Valdas Bucinskas
Hi folks,

I'm working together with Vaidotas Didžbalis, and I am writing this only to
rephrase the problem (and to bump it up :) ). Maybe I get lucky and make it
more clear.

If we run Squeak as an image- all (CPU usage) is fine. We have a problem
running Squeak as a Windows service. After some squeak-service responces its
CPU usage hits 99%. Any ideas what causes that?

P.S. More details:
Our final aim is to make a bridge between Oracle and our Object-Oriented
Application. We want to call Application's methods from Oracle.
At the current stage we are able to do that using Squeak, .NET and Soap as
an intermediary utilities. All the calls chain looks like that:
1. Oracle calls Squeak service using Soap.
2. Squeak service calls Application (DLL) using .NET Bridge.
3. Application responds to Squeak.
4. Squeak gives its responce to Oracle.

E.g. executing query
SELECT INTERFACE.SOAP_CALLS.EVALUATE(  'TimeProfileBrowser spyOn: [self
ValidateBTForIndemnityCoverageByID: 136469215]')  FROM DUAL;
we open TimeProfileBrowser that spies on a method, that call Application.
(of course it can spy only Squeak methods)

Similar way we were issuing commands to Squeak-service when it had started
to eat CPU. More interestingly, executing 'ProcessBrowser
tallyCPUUsageFor: 10 ' shows that 1 % is taken by UI, and rest (99%) is
taken by idle process. This is completely different from what I observe in
the Windows TaskManager (it shows Squeak.exe using 99%).

 Has anyone else been bitted by something like that? Maybe someone has some
kind of similar experience and could suggest a workaround? Or what is
causing Squeak, running as a Windows service, to eat up CPU?

Your comments are as always more than welcome ;)

Best regards,
Valdas

-----Original Message-----
From: [hidden email]
[mailto:[hidden email]]On Behalf Of
Vaidotas Didžbalis
Sent: Tuesday, February 07, 2006 11:31 AM
To: The general-purpose Squeak developers list
Subject: Squeak running as windows service behaves differently


Hello,
Maybe someone more experienced with windows vm could explain why
squeak.exe eats 100% of CPU when Squeak is run as windows service.
Same script runs without problems in normal mode. Digging in the past
I found John M McIntosh guess about the reason of this problem:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2004-September/082280
.html
but problem seems to be platforms specific and I'm not experienced
changing VM. Has anyone else been bitted by this since? Should I try
another sockets implementation / image (e.g. squeakland) / VM?


Details:
We work on bridge that accepts SOAP request from Oracle and executes
com-method via dot-net bridge. Dot net bridge uses separate exe to
communicate with .NET. Squeak uses sockets to communicate with that
process. All is fine until I run squeak as a service. When service
started, after third of such a call squeak.exe eats CPU 99%-100%.
While squeak remains responsive (accepts SOAP calls), tallying CPU
usage when CPU is 100% with ProcessBrowser tallyCPUUsageFor: 10 shows
nothing: 1 % is taken by UI, and rest is taken by idle process.

Squeak 3.8, VM 3.7.1, Windows 2000 workstation, service pack 4.
p.s
Squeak as a service did test 4-5 times slower :(. I wonder why.

Thank you,
--
Vaidotas Didžbalis