Mhz vs Memory

Trip

Registered
For those of you who don't know: I'm a computer guy, I work on them, I play on them, and I pretty much breathe them. That is...I breathe what runs on them. I don't breathe what's inside of them. When it comes to inner hardware I'm pretty much clueless (depending on the situation). So that's why I'm here to ask this question:

Should I upgrade my memory (128 MB currently)? I can upgrade it to 512 MB for a really cheap price. Should I do it? Or should I save my money for something more important?
 

Captain Code

Moderator
Staff member
Mod
Yes you should. The more apps you run at the same time, the bigger the difference you will notice because OS X won't be using as much virtual memory.
 

RS2_Russ

Registered
They reckon that increasing is the most effective upgrade per dollar you can buy. Get as much as you can afford, basically.
 

Jason

Eyebrow Moderator
wonder what the difference between 896mb and 1.25gb is...

im thinking of replacing my 128mb chip with a 512mb one and having 1.25gb ram, but i dunno how big of a difference it will provide

any clue?
 

xaqintosh

Master of Reality
I suppose it depends on how much you do... personally, 512mb is perfect :)
 

kommakazi

Hack the Planet!@#
the basic rule is buy as much ram as you can afford up to your computer's supported limit. best investment you can make for your computer.

As for the difference between 896mb and 1.25gb of RAM, it'll only make a difference really if you do a lot of really intensive stuff like audio/video editing and/or run lots of big applications at once.
 

Gwailo

B.A. Economics (Hon)
As everyone else was saying, get as much RAM as you think you need. 512, I would say, is a lower limit.

I've got the TFT 700MHz (combo model) with 786 RAM, it's enough for me: Bryce 5, Vue d'Esprit, iMovie, and server. It's fine for all that.

Just make sure that it's "Apple approved" hhehe.
 

ulrik

Registered
YOu will see a dramatic speed increase, especially if your graphics board does not support quartz extreme.

The rendering engine of OS X Aqua GUI needs tons of memory since it actually renders each window as a PDF. This changed with QE, which now uses OpenGL and textured polygons, but let's suppose you don't have a QE graphics board.

Every window, regardless if you can see it or not (thanx to transparencies etc.) has to be drawn in memory and is then blitted to the graphics board where it is "drawn" and sent to the display.

If you have the developer tools installed, there is a tool called "Quartz Debug" which lists the memory usage of all current windows (and more), and you will see that a window needs around 3 to 10 MB of your RAM, so when you open more windows and you are low on RAM, your system has to write the data to the disk, to the so called swap file. And the harddrive is maybe the slowest thing there is on earth (compared to RAM).

With more RAM, you prevent these so called pageouts (not needed parts of the memory are paged to disk (pageout) and once they are needed are page back in (pagein). A terribly slow process...you can track pageouts and pageins with the top-terminal command).

Since QE uses a different approach (utilizing the graphics hardware to handle the drawin) it doesn't use that much RAM, but still, RAM is your friend, really.

Just imagine it like this: pageout = bad!

Lots of RAM = good!

Even more RAM = better!

Hope I helped a bit...
 

Jason

Eyebrow Moderator
well i know the most significant increase in speed will most likely come from using vm less... but i wonder if osx uses the same amount of vm no matter how much ram you have or not...

i want 1.5gb if it will speed up things, but i dont care for it if osx is still gonna use oodles of vm just cause it feels like it

also i want to change my swap to another partition but we gotta wait until someone figures out how in jag ;)
 

ulrik

Registered
it won't, you can check it with top.

It WILL create an 80mb Swapfile at startup, but that doesn't mean that it is used.

When I do NOT work with Maya, Cinema4D or Photoshop during the day and I run top all day long, I never have ANY pageouts, my common workload is Project Builder, Flash MX, Transmit, Internet Explorer, Entourage, iTunes, DVD Player or VLC, Terminal plus some other various apps.

I have 1.5 gig RAM.

When I use Photoshop, I always get pageouts, but that's ok, with Cinema4D and Maya I only get pagouts when I have very memory intensive rendering tasks running (high quality caustics, complex shaders and/or radiosity and volumetric lightning)

Do a test. Start your terminal when you start work and start top. Before you shut down your Mac, check top and see what the pageout count is. If it is high, more RAM will greatly improve your daily working.
 

Jason

Eyebrow Moderator
well maybe if someone figures out jags vm handling system i will get 1.5gb create a ram disk and change the vm over to the ram disk..

im not a big fan of virtual memory :(
 

ulrik

Registered
sorry, but that is completely illogical!

The VM is used once the memory is full. You DECREASE your memory to put the VM into memory, so your vm-memory is used once the decreased memory is full and as soon as the vm-memory is full, it will create another vm file on the harddisk.

You create unneeded high memory latency by running pageouts - which would normally never happen if you wouldn't have decreased your main memory - into a VM file in a ramdisk, this all takes more time then writing directly into the memory.

Under Win2K, there is a benefit from such a behaviour due to some illogical VM adressing Win2K does, but under Jaguar, you waste speed with this technique.

Also, pageout data is always larger than what would have been written into the RAM, so you effectively not only increase the latency of your RAM, but you also decrease the size of your RAM.

Furthermore, IF pageouts are needed, data is pagedout which is not needed, in your case, uneeded data would be pagedout INTO RAM, where needed data should reside.
 

drash

Registered
Originally posted by ulrik
sorry, but that is completely illogical!
He's right. Virtual memory in Mac OS X is not the same thing as VM in Mac OS 9 or Windows. It's not something physical like it is on those other two systems. Virtual memory IS the way UNIX runs in memory, period. What you might be thinking of is the swap space which is ALWAYS created on a physical drive 80 MBytes at a time. If you want to speed up Mac OS X put the swap space on another drive. Here is a short explanation on how VM runs in Mac OS X.

Your program runs in the minimal amount of RAM in a single partition known as the executable space. This is governed by load parameters in the program and the OS. The rest of the RAM is taken up by a section of RAM (and the swap space) called public memory which is given to your program when it needs it, but only for tempory storage while not executing. The big difference between UNIX and the other OSes is that your program is never run from the hard drive, only from it's executable space in RAM. Therefore to take away RAM from the memory pool would cause your program to be swapped to the hard drive while not executing more often and therefore slowing your a$$ up. This is a very simplistic explanation but suffice to say the OS knows what to do. I could give you a very detailed explanation but it would take several more paragraphs beyond my 10k word limit.
 

Jason

Eyebrow Moderator
sorry to offend you guys sheesh..

im just going by what i see in top etc, i have memory free but it throws things on swap it appears...

but whatever i wont mess with it
 

ladavacm

Unperson Spotter
Mind you, I do not have Jaguar yet, but the symptoms remind me of FreeBSD's aggressive pageout which was re-introduced in the 4.x releases (after Matt Dillon fixed some low memory bugs in FreeBSD VM) (remark: I might have the timeline wrong, it all happened around 1998-1999)

What this does is that dirty anonymous pages (i.e. heap, usually) are paged out in advance even when there are enough clean/free pages so that, should a sudden requirement for new pages should arise (e.g. a program needs a lot of memory, now!), there is no need to start paging out at that point, thus significantly reducing memory caused latencies, especially under higher loads.

Using these and similar tricks, it was possible for FreeBSD on a single Xeon 550 with 4Gig of RAM to support 10000 concurrent FTP users, plus about 1500 HTTP clients.
 

drash

Registered
Originally posted by BuddahBobb
sorry to offend you guys sheesh..
We're cool. we just didn't want to see you waste a lot of time trying something thats been tried before. To stay on the subject, the short end of it all is the more RAM you put in your system the more executable memory space the OS makes and the more it can also put in public memory. This keeps the swaps in RAM for the OS as well as your applications. Which is why it's best to keep the swap space on a separate drive and partition that's never used. Also you should know that the hard drive swap space is always the lowest priority when using any swap. VM will always use RAM first. As you can see, another way to speed up your Mac is to put in a faster drive, but I guess the topic would then have been "RPM vs Memory". ;)

Of course this discussion leads me to a minor gripe that I should probably take to another forum and topic. That gripe is to allow us "geeks" to use a raw partition for swap space in OS X. :cool:
 

drash

Registered
Originally posted by ladavacm
Mind you, I do not have Jaguar yet, but the symptoms remind me of FreeBSD's aggressive pageout which was re-introduced in the 4.x releases (after Matt Dillon fixed some low memory bugs in FreeBSD VM) (remark: I might have the timeline wrong, it all happened around 1998-1999)
I believe you're correct about the time frame. They've put out more white papers on VM in FreeBSD than most other systems. The truth is I believe Apple is using Mach's VM which creates some of the disk hashing by layering on memory objects. And that's probably due to using a real filing system instead of a raw device for the swap space. Of course the pageouts could be overly aggressive to handle being used by people who turn off their systems when they are done. ;)
 

ladavacm

Unperson Spotter
Originally posted by drash


The truth is I believe Apple is using Mach's VM which creates some of the disk hashing by layering on memory objects.
Quite correct, AFAIK. But, so does FreeBSD (other *BSD's moved to UVM), albeit heavily modified for performance. I would not be surprised if some of these modifications made it into Darwin; however, I cannot know, since I am not involved in Darwin development.

The fact that underlying VM was (mostly) compatible between FreeBSD and Darwin might have been the main reason why FreeBSD BSD kernel parts made it into Darwin, as opposed to NetBSD or OpenBSD, both of which had PPC ports at the time.

Jaguar being officially "synchronized" (whatever it means) to FreeBSD 4.4 release might support my hypothesis. I just wish I actually knew--I wouldn't need to hypothesize then :)
 

Jason

Eyebrow Moderator
thats something i would love to be able to do in jag... move my friggen swap partition... i hate my swap being on my system drive, absolutely hate it, ive always had swap drives in every os ive ever used, why doesnt osx make this an option instead of a hack?

is there a way yet in jag? ive noticed my swap has gone back to my system drive since upgrading

and as far as swap, im just gonna trust you guys that it doesnt use swap space until its out of memory ;)
 
Top