I've been researching this topic, because I'm curious about it, too. One of the confusing things is how RAM is used on dual processors. If you have 4GB installed, for example, that's only 2 GB per processor-- so when, how, and why VM kicks in must be related to this.
Here's and article from Ohio State University-- in plain-speak:
How is Virtual Memory Handled in Mac OS X?
Memory, or RAM, is handled differently in Mac OS X than it was in earlier versions of the Mac OS. In earlier versions of the Mac OS, each program had assigned to it an amount of RAM the program could use. Users could turn on Virtual Memory, which uses part of the system's hard drive as extra RAM, if the system needed it.
In contrast, Mac OS X uses a completely different memory management system. All programs can use an almost unlimited amount of memory, which is allocated to the application on an as-needed basis. Mac OS X will generously load as much of a program into RAM as they can, even parts that may not currently be in use. This may inflate the amount of actual RAM being used by the system. When RAM is needed, the system will swap or page out those pieces not needed or not currently in use. It is important to bear this in mind because a casual examination of memory usage with the top command via the Terminal application will reveal large amounts of RAM being used by applications. (The Terminal application allows users to access the UNIX operating system which is the foundation of Mac OS X.) When needed, the system will dynamically allocate additional virtual memory so there is no need for users try to tamper with how the system handles additional memory needs. However, there is no substitute for having additional physical RAM.
It seems to fit that the long load times for VI are due to the large amounts of data trying to be loaded into RAM until it hits a brick wall, at which point OSX determines what the pre-load "ceiling" will be and how much RAM "headroom" it will need. Crunching numbers for a huge orch. library then, understandably, takes a bit of time for the "page-out-swap" process between RAM and VM. Load times seems to be most prevelant on the first boot, as many VI users have reported, but subsequent load times are shortened after whatever "page-swap" data is been written into whatever directory management utilities for each application. This of course further supports the notion that performance is still enhanaced by having more RAM than the host app will accommodate. The "as-needed" statement also confirms a lot of my suspicions based upon behaviors other Mac users have reported.
The most confusing part of this is that RAM allocation is no longer assigned by the user. I'm still weening myself from old OS9 thinking.
Here are some geek-speak links:
OSX and Virtual Memory
Memory Management and Enhancing OSX Performance
10 Things Apple Did To Make OSX Faster
Here's and article from Ohio State University-- in plain-speak:
How is Virtual Memory Handled in Mac OS X?
Memory, or RAM, is handled differently in Mac OS X than it was in earlier versions of the Mac OS. In earlier versions of the Mac OS, each program had assigned to it an amount of RAM the program could use. Users could turn on Virtual Memory, which uses part of the system's hard drive as extra RAM, if the system needed it.
In contrast, Mac OS X uses a completely different memory management system. All programs can use an almost unlimited amount of memory, which is allocated to the application on an as-needed basis. Mac OS X will generously load as much of a program into RAM as they can, even parts that may not currently be in use. This may inflate the amount of actual RAM being used by the system. When RAM is needed, the system will swap or page out those pieces not needed or not currently in use. It is important to bear this in mind because a casual examination of memory usage with the top command via the Terminal application will reveal large amounts of RAM being used by applications. (The Terminal application allows users to access the UNIX operating system which is the foundation of Mac OS X.) When needed, the system will dynamically allocate additional virtual memory so there is no need for users try to tamper with how the system handles additional memory needs. However, there is no substitute for having additional physical RAM.
It seems to fit that the long load times for VI are due to the large amounts of data trying to be loaded into RAM until it hits a brick wall, at which point OSX determines what the pre-load "ceiling" will be and how much RAM "headroom" it will need. Crunching numbers for a huge orch. library then, understandably, takes a bit of time for the "page-out-swap" process between RAM and VM. Load times seems to be most prevelant on the first boot, as many VI users have reported, but subsequent load times are shortened after whatever "page-swap" data is been written into whatever directory management utilities for each application. This of course further supports the notion that performance is still enhanaced by having more RAM than the host app will accommodate. The "as-needed" statement also confirms a lot of my suspicions based upon behaviors other Mac users have reported.
The most confusing part of this is that RAM allocation is no longer assigned by the user. I'm still weening myself from old OS9 thinking.
Here are some geek-speak links:
OSX and Virtual Memory
Memory Management and Enhancing OSX Performance
10 Things Apple Did To Make OSX Faster