Weird Windows 2000 scheduling behaviour with Squeak VM

Mike Rutenberg mdrs at akasta.com
Thu Jan 24 17:59:52 UTC 2002


If I do a long Squeak calculation like
	[true] whileTrue: [12 / 4]
the Windows 2000 scheduler will only occasionally give any other "normal
priority" Win32 process any CPU time.  Other processes, even those who
are "on top", will be almost entirely deprived of cycles.  For example,
the TaskManager CPU graph or list of running processes no longer updates
regularly, often pausing for 20 seconds.  Similarly InternetExplorer and
the FileManager become very unresponsive.

I have also noticed the same behavior if I compact a Celeste mail
database (which involves lots of memory allocations and IO) rather than
an endless simple loop.

Interestingly, a second simultaneously running Squeak VM is not affected
while the first runs the endless loop.  It responds normally though all
of this, and does not seem noticeably slowed down, for instance quickly
opening a change sorter.

When I am able to finally bring up the TaskManager, I can eventually
lower the priority of Squeak.exe and the system immediately becomes
responsive again.

As a test, I wrote a small C program to duplicate this endless loop. 
When I run it, the CPU meter pegs at 100%, but the system does not
become unresponsive.

Has anyone else seen anything like this under Windows NT or 2000?  Is
this a side effect of something done intentionally in the VM?   I do not
remember seeing problem under Windows 98.

Mike



More information about the Squeak-dev mailing list