squeak using high CPU, reporting little use
John M McIntosh
johnmci at smalltalkconsulting.com
Mon Jul 4 21:58:47 UTC 2005
This could be very well an issue with the remember table holding onto
something large which
is causing excessive marking activity when the incremental garbage
collector runs. If a full GC
which you can invoke manually solves the problem, then it most likely
is the issue.
To confirm you need to have a linux VM that is built from the latest
VMMaker source to pickup
my GC Monitor changes, then load the changeset
Visit my Idisk,
http://homepage.mac.com/johnmci/FileSharing.html
GCWork directory
load the JMMGCMonitor.4.cs changeset
Then follow the instructions in
ReadMeForGCStatisticalGathering.rtf
You will find there is logic in
GCMonitor>>calculateGoals
to force a tenure if the mark count goes greater than 2x the
allocation count, usually a sign that the remember table is getting
too large, or causing too much marking based
on the objects it is looking at in oldspace.
On 4-Jul-05, at 2:33 PM, Ross Boylan wrote:
> On Mon, Jul 04, 2005 at 01:39:54PM -0400, David T. Lewis wrote:
>
>> Are you swapping? The VM will keep allocating virtual memory space
>> as needed, eventually getting to the point where your OS will start
>> swapping to disk. This might lead to the symptoms you describe.
>>
>> If you have something like xosview on your system, you will easily
>> see the swap and paging activity if that's what is happening.
>>
>
> The amount of disk activity seems to be minimal. This is surprising,
> because I am now seeing the 1G of memory in some of my system tools.
> First, I don't hear swapping or see the disk access light lit up.
> Second, when I monitor total disk accesses (using KDE's system guard)
> they were generally very low (top at 30/sec, usually much lower) when
> it was sitting there burning CPU, compared to up to 200/s when I saved
> the image (which again fixed the problem).
>
> $ ps -o rss,size,vsize,%cpu,%mem,command 15215
> RSS SZ VSZ %CPU %MEM COMMAND
> 51012 1053376 1065048 7.2 13.1 squeakvm /ms/d/xfer/squeak/
> Squeak3.2.image
> (as noted earlier, it has changesets well past 3.2).
>
> According to my systems docs
> rss RSS resident set size, the non-swapped physical memory that a
> task has used (in kiloBytes). (alias rssize, rsz).
> size SZ approximate amount of swap space that would be required if
> the process were to dirty all writable pages and then be
> swapped out. This number is very rough!
>
> vsz VSZ virtual memory size of the process in KiB
> (1024-byte units). Device mappings are currently excluded;
> this is subject to change. (alias vsize).
>
> I'm not sure what my page size is, though 1k seems consistent with
> these numbers.
>
> Note the above high memory numbers accompany low CPU use in the
> preceding report, so in themselves they aren't enough to cause the
> problem.
>
> $ free
> total used free shared buffers
> cached
> Mem: 386596 381892 4704 0 46676
> 69964
> -/+ buffers/cache: 265252 121344
> Swap: 1267144 791844 475300
>
> On disk, the image is about 40MB, and the changes file 16MB. How the
> process memory use gets so high (or even if the numbers are to be
> believed) I don't know.
>
>
>
>>
>> Dave
>>
>> On Mon, Jul 04, 2005 at 09:42:55AM -0700, Ross Boylan wrote:
>>
>>> On Sun, Jul 03, 2005 at 11:19:37AM -0700, Ross Boylan wrote:
>>>
>>>> squeak gets in this odd state where it consumes lots of cpu
>>>> according
>>>> to the operating system tools, but when I do a debug message
>>>> tally it
>>>> reports over 90% of the time in idle.
>>>>
>>> Let me try to say that more clearly.
>>>
>>> Tools running outside of squeak report it is using up most of the
>>> CPU
>>> on the computer. (basically a top-equivalent).
>>>
>>> If I use the debugger inside of squeak, it reports that squeak is
>>> mostly idle.
>>>
>>>
>>>>
>>>> Doing a save always clears up the problem (perhaps because of a
>>>> global
>>>> garbage collect?).
>>>>
>>>
>>> I think I can confirm that. I got in this state again, and did
>>> Smalltalk garbageCollect
>>> That fixed the problem, and answered with the suspiciously large
>>> 1029077260 (about 1G, if I'm counting right).
>>>
>>>
>>>>
>>>>
>>>> Smalltalk vmVersion gives
>>>> 'Squeak3.8gamma of ''24 November 2004'' [latest update: #6548]'
>>>>
>>>> Running on linux with a largish image (57Mg).
>>>>
>>>> The image itself is a bit old, with #4956 the last update; I think
>>>> that makes it 3.6 era.
>>>>
>>>> Any ideas what's going on?
>>>>
>>
>>
>>
>
>
>
--
========================================================================
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
========================================================================
===
More information about the Squeak-dev
mailing list
|