Huge increase in memory usage on Leopard
Huge increase in memory usage on Leopard
- Subject: Huge increase in memory usage on Leopard
- From: Nir Soffer <email@hidden>
- Date: Mon, 19 Nov 2007 20:33:55 +0200
I found that my app is using 5-9 times more memory in Leopard
compared with Tiger. The memory during typical usage on Tiger on G5
with 1.5G RAM is about 21MB (RSIZE), 14M (RPRVT). In Leopard on the
same machine, the memory reach each 180MB (RSIZE). On another
machine, Mac mini solo with 512MB RAM, the memory is about 100MB
(RSIZE), 50MB (RPRVT) with Leopard.
I profiled the app with Instruments on the G5 and found that memory
allocated by NSBitmapImageRep (using _NSImageMalloc) is not freed
when the instance is released. This is not a leak - the system seems
to keep a pool of 14 allocations (each around 7MB) and reuse this
pool. I see this for each NSBitmapImageRep I create.
This happens when creating NSBitmapImageRep with
initWithBitmapDataPlanes:NULL. I can work around this by allocating
my own memory and creating the instance with my memory. After moving
to manual memory allocation for the bitmaps, the memory size on the
Mac mini went down to 36MB (RSIZE), but the same code on Tiger takes
now only 14MB (RSIZE). The profile does not show any more "big"
allocations I can fix, except the NSBitmapImageReps allocations.
One smaller but similar allocation happen each time a bitmap is
processed with CoreImage. Each call to CIContext
drawImage:atPoint:fromRect: allocate about 1MB which are not freed.
There seems to be a similar pool of those 1MB chunks.
I found similar behavior with Apple Reducer example code <http://
developer.apple.com/samplecode/Reducer/>. It run with 50-60MB on
Tiger, but reach about 150MB in Leopard after 20-30 operations on the
same image. My app use similar code to process bitmaps.
The application is built on Tiger. Rebuilding on Leopard with Xcode 3
did not change anything.
Anyone has a clue what is going on?
Best Regards,
Nir Soffer
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden