EXS in L8 versus L7: no more 3.5 GB RAM limit (with screen grabs)

okay

i’ve done some testing of EXS in Logic 7.1.1 and Logic 8. while all of this testing originated in the “is logic 64 bit” thread, i’ve started a new thread to post these results since, honestly, i really have no idea where to post in that old thread anymore. suffice it to say that Orren and Rohan are absolutely correct -- if we use Virtual Memory in EXS in Logic 8, we are no longer limited by Logic's 3.5 GB RAM limit for EXS and we can now use all of the RAM in our computers with EXS and Logic.

a couple of notes:

1. all songs were created and/or opened on a fresh system directly after a reboot. i never reopened a song or switched songs without a reboot in between. and all testing was done on my dual G5 with 8 GB of RAM, OS 10.4.10, Logic 7.1.1 or Logic 8.

2. i never had any programs other than Logic, Activity Monitor, and Grab open.

3. all testing was done with the EXS Virtual Memory option Active and set to “disk drive speed: slow” and “disk recording activity: extensive”. one of the confusing things in reporting this testing has always been that both EXS and Activity Monitor have a thing called “Virtual Memory” and they are not the same thing. i use Activity Monitor VM as my “how much RAM is this program using” reference because it is the one consistent figure i can find: when Logic hits 3.55 GB of Virtual Memory space in Activity Monitor, it crashes. but Activity Monitor’s Virtual Memory figure is a completely separate thing from the EXS Virtual Memory option. so from here on, when i refer to VM, it is the figure as reported by Activity Monitor. please know that the EXS VM option was active for all testing reported here.

so i started by creating a song in Logic 7 and i added EXS instruments (and ONLY EXS instruments) to the song until i was about to hit the 3.5 GB Virtual Memory limit. as you can see in this screengrab...

User uploaded file

...once i had loaded 18 EXS Vienna Symphonic Library instruments, Logic’s Memory figures in Activity Monitor were:

Logic Pro 7.1.1

Real Memory: 3.08 GB
Shared Memory: 47.4 MB
Virtual Memory: 3.42 GB

the system was using 4.15 GB of RAM, leaving 3.85 GB of RAM free. when i tried to load a 19th EXS VSL instrument, the program crashed.

so i then rebooted and opened this same song in Logic 8. as you can see in the screengrab, the memory figures as reported for Logic 8 are very different:

User uploaded file

Logic Pro 8

Real Memory: 1.94 GB
Shared Memory: 562 MB
Virtual Memory 2.45 GB

Logic’s Real and Virtual memory figures are much smaller, but the Shared memory figure is much larger. also, the system is using almost the exact same amount of RAM: 4.13 GB (leaving 3.87 Free).

i then proceeded to add EXS instruments (and ONLY EXS instruments) to this song (it has a new name because i didn’t want to save over the original song) until the System RAM was almost all used. as you can see in the following screengrab, the song now has 32 EXS VSL instruments loaded and the system is using 7.68 GB of RAM.

User uploaded file

what’s interesting is that despite all of the added EXS instruments, Logic’s memory figures have seen little change. they are:

Real Memory: 2.12 GB
Shared Memory: 571 MB
Virtual Memory: 2.62 GB

and while Activity Monitor isn’t showing a process that is responsible for storing the EXS samples, all 14 of the new EXS instruments are playable (as are the original 18).

so clearly what Rohan and Orren reported about EXS in Logic 8 is true -- we can now load/stream more instruments in EXS in Logic 8.

to test further, i removed a couple of instruments from this song so that i wouldn’t be running quite to the edge of my system RAM, saved it, rebooted and reopened the song. as you can see in this screengrab...

User uploaded file

there are now 28 EXS instruments open and Logic’s memory figures are reported as:

Real Memory: 2.07 GB
Shared Memory: 562 MB
Virtual Memory: 2.52 GB

The system is using 6.75 GB of RAM, leaving 1.25 GB free.

so then i added 7 Altiverb plug ins to 7 channels in Logic 8 (different settings for each altiverb instance so they were each using their own RAM).

User uploaded file

as you can see, not only has the System used more RAM, but Logic’s memory figures have increased as well because Altiverb is loaded into Logic’s RAM. Logic’s RAM figures now are:

Real Memory: 2.63 GB
Shared Memory: 582 MB
Virtual Memory: 3.15 GB

so i then proceeded to add two more EXS instruments to this song and you can see that the System is now using a lot more RAM (around 750 MB more RAM) but Logic’s memory figures have remained almost the same:

Real Memory: 2.65 GB
Shared Memory: 587 MB
Virtual Memory: 3.16 GB

User uploaded file

and, of course, all 30 EXS instruments are playable. how well they will perform in real world use remains to be seen. but they all work.

finally, as near as i can tell, Logic 8 doesn’t let EXS have its own memory space until Logic hits around 1.75 GB of Virtual Memory (as reported in Activity Monitor). before that point, it appears to me that Logic keeps EXS “inside” the Logic memory space. the “real” and “virtual” memory figures for Logic continue to rise as EXS instruments are added and the “shared” memory figure for Logic stays at around 40 MB.

but after 1.75 GB of VM, the “shared” figure starts to rise with each instrument until Logic hits around 2.4 GB of VM, at which point, all EXS appear to be loaded into non-Logic RAM because the “used” System RAM increased but all Logic figures remain almost the same. (i’m sorry if describing this is confusing -- i’m doing the best i can)

anyway, i apologize for the long post, but i wanted to clarify as best i could what the state of EXS is on Logic 8 for anyone still curious.

while i certainly make no claim to know how or why this is happening, i can say that on my system, what Rohan and Orren have reported is correct: EXS in Logic 8 is no longer limited to Logic’s 3.5 GB RAM limit so long as you have the EXS Virtual Memory option active (if it isn’t active, the old RAM limit remains).

thanks to all who helped get to the bottom of this. i hope this post is helpful in demonstrating what EXS can now do in Logic 8. if not, well, i tried. 😉

cheers

Posted on Sep 18, 2007 12:49 PM

Reply
103 replies

Sep 18, 2007 1:47 PM in response to stupid8track

thankyou s8t,

this is birlliant. and great news too - i was worried that after going past the usual limit you would not be able to add other plug-ins, but it appears that is not the case. it seems some memory is reserved by logic for this.

well, this comes as close to a 'revolution' as we are going to get with this release. bravo logic team.

and thanks again for your exhaustive test, st8.

Sep 18, 2007 3:38 PM in response to stupid8track

Great work s8!

This is amazing.
Why doesn't Apple put this "feature" on the front page as one of the amazing new things in Logic8. The only mentioning is the one confusing sentence in the manual with "... 32bit vs 64bit when needed ...". Did they find the secret way around the 3.5GB limitation in a 32bit address System and don't want to tell anybody?

I'm sure the Vienna guys would really like to know how to do that. That could have saved them the hustle of running a separate VI process with all the interface/workflow downsides when using it in Logic.

Sep 18, 2007 5:17 PM in response to Mike Connelly

well i'm glad the post is useful but thanks goes to all who helped find out what was going on under the hood because i really had no idea. this is a really great new functionality to EXS that i would not have known about if not for the help and determination of othes on this forum. thank you.

anyway, mike, as to your question: logic does not crash or give any error message of any kind when i run out of system RAM -- it just keeps loading new EXS instruments. of course, they are being loaded by the system into "swap" space, so i don't know how well they will play in real world.

but the decision to stop loading instruments before running out of System RAM was mine because i didn't want to confuse the results with "page outs" reported in AM.

cheers

Sep 18, 2007 10:41 PM in response to stupid8track

Bravo, S8T. That is as good as user documentation gets. This is just like your work a couple of years ago when you demonstrated that two Logic programs could not run on one machine with any degree of ease or reliability.

I can confirm S8T's experience on my own 1.8 dual G5 with only 6.5 GB loaded. The same anomalies in Activity Monitor occur here relative to the mis-reporting of used memory. But, like S8T, I have not actually worked on a song as glutted with samples. In fact, last night as I maxed out one song, I double-clicked on a note in Score to enter Piano Roll (Matrix), and Logic crashed. But this is an x.0.0 version, so it's too soon to conclude anything.

But there's more good news. I've long since noted that on under-powered Macs, the price of loaded sample RAM is dear. In Logic 7, with about 1.5 GB in EXS and another 1 GB in VI, the CPU hit was enormous out of the gate. That means without any MIDI or audio actually playing, I was losing about 60% of CPU just by hitting play. So I had little composing overhead. However much RAM I could use was irrelevant because I'd hit a Core Audio overload when even the most modest passage needed to be played.

On Logic 8, I can't even get a CPU stop if I try. In fact, last night I had both cores running at full capacity -- they were solidly in the red, not even moving, just full-bore 100% so the meters looked like an audio feedback reading -- and Logic kept playing!

Don't misunderstand. I was losing voices and verb. I was legitimately out of CPU. The computer is four years old, for Pete's sake, and all the memory's blown out at this point in the song load. But I can bounce my way past that. I'll take anything over the song stopping. Ever tried to build a tutti and get slammed with those Core Audio overload messages? Talk about a creativity killer.

So as we celebrate S8T's confirmation of extended RAM, there's even more goood news in the practical experience of RAM use. Apple got something seriously right with Logic 8.

And the next time someone says, "They intentionally limit their software to force us to buy new hardware and a new OS," remember Logic 8.0.0. Apple had little incentive to re-equip my aging DP 1.8 G5 with these capabilities. I can only imagine what 8.1 will be like on an eight-core Mac with Leopard.

Sep 19, 2007 8:44 AM in response to Mike Connelly


They can access that memory? Is it documented somewhere? The devs I have been in touch with aren't aware of it and say that 10.5 is needed.

Could you provide a link to this information? The possibility of doing this isn't very useful if Apple won't tell anyone how it's don


we are duplicating our posts here mike. any further discussion on this matter ought to remain here. as i posted in the other thread, i am sure that the information about this will be made available to everyone soon. but my information source is aware of it, which is how i come to mention it. i don't think it has to be leopard but i am not sure.

Sep 19, 2007 9:34 AM in response to stupid8track

hey all

well, i did a little further testing on how much the EXS VM settings effect RAM use. i'm sorry, but i didn't do screengrabs for this as i don't have time, so you'll have to trust that i'm reporting the figures accurately.

again, after each setting change in EXS VM i closed Logic, rebooted, reopened so these RAM figures can be as accurate as possible.

i started with the 28 EXS/8 Altiverb song i used in testing above (i mistakenly reported using 7 altiverbs in the test above, but the screengrab there will confirm it was actually 8 altiverbs). this song used "disk drive speed: slow" and "hard disk recording activity: extensive" in EXS VM settings. and opening it, i got the following RAM use:

Used System RAM: 7.45 GB
Logic Real Memory: 2.64 GB
Logic Shared Memory: 576 MB
Logic Virtual Memory: 3.17 GB

so i switched the EXS disk drive speed setting to "medium" and rebooted. reopening logic, i now got the following memory figures:

Used System RAM: 5.35 GB
Logic Real Memory: 2.35
Logic Shared Memory: 575 MB
Logic Virtual Memory: 2.86 GB

as you can see, selecting "medium" instead of "slow" for disk drive speed saves over 2 GB of RAM.

i then switched the disk drive speed back to "slow" and changed the hard disk record activity to "average", closed, rebooted, opened Logic and got the following figures:

Used System RAM: 7.22 GB
Logic Real Memory: 2.65 GB
Logic Shared Memory: 572 MB
Logic Virtual Memory: 3.17 GB

as you can see, there is very little difference in RAM use between "hard disk record activity: extensive" and "hard disk record activity: average".

finally, i changed the EXS VM settings to "disk drive speed: fast" and "hard disk record activity: less", closed, rebooted, opened Logic and got the following memory settings:

Used System RAM: 5.53 GB
Logic Real Memory: 2.36 GB
Logic Shared Memory: 573 MB
Logic Virtual Memory: 2.86 GB

as you can see, for some reason, these settings actually used MORE RAM than the "medium/extensive" settings above. i don't know why.

anyway, for those of you interested in what the settings mean in Logic's VM window, hopefully this helps. basically, the only setting that seems to matter is the "disk drive speed" and the only choice there that seems to make a difference is choosing between "slow" and "medium".

"medium" will obviously allow more instruments to be loaded into RAM -- somewhere around 1/3 more instruments roughly, from what i can see. it remains to be seen if "slow" will allow for better streaming performance where fewer notes are dropped in composition. in the past this was the case, but with Logic 8 i have no idea.

and, unfortunately, i'm truly out of time to test.

hope this helps

cheers

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

EXS in L8 versus L7: no more 3.5 GB RAM limit (with screen grabs)

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.