|
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
VM takes care of memory management so that memory fragmentation isn't an
issue like it used to be. As far as your code is concerned it can allocate
whatever size block you need as long as there's enough remaining of your
4Gig virtual memory space to fill the request. However, long before you run
out of memory VM is going to start swapping pages to disk and performance
will suffer.
Assumptions are evil! A G5 can support up to 8GB (maybe even 16GB now) of RAM, you can quite easily exhaust a 32-bit address space without causing any paging at all (we ship all our G5 systems with at least 4GB for instance).
Address space fragmentation is a real problem for applications that are working with large datasets. We ended up with a scheme where we can release blocks from our address space but keep a mach handle to them using mach_make_memory_entry(). This means that they stay in the unified buffer cache (in RAM if possible), but no longer take up any of our address space. I'm happy to talk more about this if anyone is interested!
Scott ----- _______________________________________________ Do not post admin requests to the list. They will be ignored. Carbon-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
| References: | |
| >Re: How likely is memory fragmentation? (From: Steve Baxter <email@hidden>) |
| Home | Archives | Terms/Conditions | Contact | RSS | Lists | About |
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2011 Apple Inc. All rights reserved.