Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Do I not understand 64-bit OS's correctly?

Ovaltine Constantine
Registered User
Join date: 28 Jul 2008
Posts: 179
05-11-2009 02:55
Do I not understand 64-bit operating systems correctly? Ok, I have 4GB of RAM in my PC. Previously I had been using Windows XP (32-bit) which I know limited my PC to only "seeing" slightly less than all of memory. Now I'm using the Windows 7 RC (64-bit), but when I go to Help -> About Second Life, it stills shows me as having 3328 MB of RAM...shouldn't having a 64-bit OS allow it to "see" all 4GB of my RAM, or did I miss something?
_____________________
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-11-2009 04:32
It's your motherboard... it's hiding some RAM behind the I/O page (video card etc).
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Ovaltine Constantine
Registered User
Join date: 28 Jul 2008
Posts: 179
05-11-2009 04:56
So if I got a new motherboard (which I'm planning on), I'll be able to use all the RAM I put in it with Windows 7?
_____________________
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-11-2009 05:09
Maybe, maybe not, it all depends on how the motherboard chipset works. You may find that with 8GB of RAM in it you only get to use 7.3GB of it.

8 GB? Sure. You don't go to 64 bit to get 4GB of RAM, you go to 64 bit to get more than 4GB of RAM.

With Windows Vista and Windows 7 most of the RAM will end up being wasted with preloaded images of Word and other recently used programs anyway.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
05-11-2009 06:08
Also, with Windows 7 you won't waste memory mirroring the video card's RAM.

With Vista, if your graphics card has 512M of memory, Vista sets aside 512M of system RAM to shadow it.

They found out that this "optimization" only helps in rare cases, so they ditched it for Windows 7.
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
05-11-2009 06:10
From: Argent Stonecutter
With Windows Vista and Windows 7 most of the RAM will end up being wasted with preloaded images of Word and other recently used programs anyway.
'splain, please? Or a reference?
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-11-2009 07:40
It's called "superfetch". It's kind of like the reverse of the unified buffer cache every other OS is using these days, where all memory in your computer that applications aren't currently using is used as a disk cache. What Superfetch does is load your memory with frequently used apps EVEN IF THEY HAVE TO PAGE LIVE APPLICATION DATA OUT TO DO IT. They make it sound pretty cool, but in practice it means wasted disk accesses and extra cache misses.
From: http://www.codinghorror.com/blog/archives/000688.html

In previous versions of Windows, system responsiveness could be uneven. You may have experienced sluggish behavior after booting your machine, after performing a fast user switch, or even after lunch. Although too many carbohydrates might slow you down after lunch, your computer slows down for different reasons. When you're not actively using your computer, background tasks— including automatic backup and antivirus software scans— take this opportunity to run when they will least disturb you. These background tasks can take space in system memory that your applications were using. After you start to use your PC again, it can take some time to reload your data into memory, slowing down performance.

SuperFetch understands which applications you use most, and preloads these applications into memory, so your system is more responsive. SuperFetch uses an intelligent prioritization scheme that understands which applications you use most often, and can even differentiate which applications you are likely to use at different times (for example, on the weekend versus during the week), so that your computer is ready to do what you want it to do. Windows Vista can also prioritize your applications over background tasks, so that when you return to your machine after leaving it idle, it's still responsive.
I don't know why Windows XP's cache behavior sucked so badly, but they should have fixed it by using either a BSD or Linux style unified buffer cache instead of coming up with some complex and convoluted scheme like this.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
05-11-2009 08:10
Thanks!

MS Rocks again! Way to go Bill!

Frankly, I would expect behavior like they mentioned: after not using a program for a while, it's a little slower because it's swapped out etc. That should fix itself quickly, and shouldn't need an "intelligent" scheme to avoid it.

I dislike it when my computer thinks it's smarter than I am. MS products seem to do that more and more. Maybe I should break down and get a Mac! (Gah!)
Milla Janick
Empress Of The Universe
Join date: 2 Jan 2008
Posts: 3,075
05-11-2009 08:19
If you have a lot of memory in your PC, it does rock.
_____________________


http://www.avatarsunited.com/avatars/milla-janick
All those moments will be lost in time... like tears in rain...
Chosen Few
Alpha Channel Slave
Join date: 16 Jan 2004
Posts: 7,496
05-11-2009 08:33
Guys, superfetch doesn't waste memory. It simply preloads things you often use, at the times you usually use them, in order to cut down on load time. It's a really clever system.

If you need more memory for what you're doing at any given moment, or if you break your usual pattern by opening a program unexpectedly, there's no harm. Whatever is currently occupying the memory space you need simply gets dropped, in favor of what you're presently doing. In other words, it works in those cases the same way XP and all previous versions of Windows did.

There's no waste in any way, shape, or form.
_____________________
.

Land now available for rent in Indigo. Low rates. Quiet, low-lag mainland sim with good neighbors. IM me in-world if you're interested.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-11-2009 08:53
From: Chosen Few
Guys, superfetch doesn't waste memory. It simply preloads things you often use, at the times you usually use them, in order to cut down on load time. It's a really clever system.
It pages out buffer cache and live application virtual memory to do this. DON'T tell me this doesn't happen... it's been amply documented. Why this happens is because Windows Vista... like XP, 2000, and NT... has a really bad habit of aging out live pages... including dirty pages... instead of leaving them in the buffer cache. In a BSD-based system those pages would be in the "free list", but if there was a request for the same page before it was re-used it would be immediately moved back from the free list to live memory. Linux has analogous mechanisms. Windows, apparently, doesn't... you can see this if you've left a Windows XP box idle for a while. The next time you use it it has to page in data from disk even though at no point in time since you last used the computer was that memory actually needed. Vista and its superfetch just makes this problem far far worse. This leads to a less predictable environment, and also massively increases the amount of disk I/O in a mostly static system... which is in turn showing up as excessive flash wear rates on flash-based laptops.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Chosen Few
Alpha Channel Slave
Join date: 16 Jan 2004
Posts: 7,496
05-11-2009 09:53
From: Argent Stonecutter
It pages out buffer cache and live application virtual memory to do this. DON'T tell me this doesn't happen... it's been amply documented.


Care to cite links to this allged ample documentation?

From: Argent Stonecutter
Windows, apparently, doesn't... you can see this if you've left a Windows XP box idle for a while. The next time you use it it has to page in data from disk even though at no point in time since you last used the computer was that memory actually needed. Vista and its superfetch just makes this problem far far worse.


Yes, XP and earlier versions of Windows always had that problem. But if Vista x64 also has it, and even "makes it worse" as you claim, then please explain to me why I've NEVER witnessed it happen in all the time I've been using Vista Ultimate x64. It's been almost a year now. Surely that's enough time to witness the full range of behavior.

In fact, as I'm writing this, I've got several windows open on my various monitors (I use 4 monitors on my desktop) that have been sitting there for days. A couple of them have been open for over a week, actually. (I don't shut this machine down very often.) Want to know what my hard drives do if I click on one of those windows? Absolutely nothing. The window simply highlights. That's it.

Argent, no disrespect, but have you ever actually USED Vista x64, or are you just going off what you've read? When Vista first came out, there were all kinds of articles from misinformed reviewers about how it "wastes memory". Your post here sounds exactly like those. It doesn't sound at all like an experience-based report.


From: Argent Stonecutter
This leads to a less predictable environment, and also massively increases the amount of disk I/O in a mostly static system... which is in turn showing up as excessive flash wear rates on flash-based laptops.


First, I can promise you my disk usage is far less on Vista x64 than it ever was on XP x86, on the exact same machine. Again, are you speaking theoretically, or is your assessment based on any actual hands-on experience? If it's the latter, then it would be worth exploring what other factors are in play to make our two experiences so different. I suspect it's the former, though, since I've got 3 machines here with Vista Ulitimate x64. all exhibiting the same behavior, and in every conversation on the subject I've had with friends and colleagues who have switched VU x64, they all report similar findings.

I can also tell you that this was most definitely NOT the case when I had Vista Home Premium x86. That OS was anything but reliable, which is why I don't use it anymore. Vista really needs more resources than 32-bit architecture can throw at it. Allow it those resources, and it's really a wonderful system. But deny it what it needs, and it throws tantrums. The 64-bit and 32-bit versions of Vista are two different animals.

Second, the reason solid state drives tend to have problems with Vista is because the OS initially did not support SSD's at all. MS put out very clear warnings about this, early on. Eventually SSD support was added in, but it was a hack job at best, and never really worked very well. Windows 7 supposedly will change that, with proper support built right in.
_____________________
.

Land now available for rent in Indigo. Low rates. Quiet, low-lag mainland sim with good neighbors. IM me in-world if you're interested.
Milla Janick
Empress Of The Universe
Join date: 2 Jan 2008
Posts: 3,075
05-11-2009 10:49
I read the Coding Horror blog entry about Superfetch, and it looks to me like Jeff Atwood thinks it's a good thing.

It's XP that wastes memory, not Vista.
_____________________


http://www.avatarsunited.com/avatars/milla-janick
All those moments will be lost in time... like tears in rain...
Baloo Uriza
Debian Linux Helper
Join date: 19 Apr 2008
Posts: 895
05-11-2009 12:05
From: Ovaltine Constantine
Do I not understand 64-bit operating systems correctly? Ok, I have 4GB of RAM in my PC. Previously I had been using Windows XP (32-bit) which I know limited my PC to only "seeing" slightly less than all of memory. Now I'm using the Windows 7 RC (64-bit), but when I go to Help -> About Second Life, it stills shows me as having 3328 MB of RAM...shouldn't having a 64-bit OS allow it to "see" all 4GB of my RAM, or did I miss something?


It should... what does a live CD of a 64-bit linux distro say? (This will even work with a 32-bit distro if the kernel has bigmem enabled...I used to have a 4GB 32-bit machine that wouldn't run Windows because of it's 32-bit memory limitations).

That being said, it's probably still too early for Windows 7.
Buster Sideshow
Registered User
Join date: 25 Aug 2008
Posts: 52
how about a win x64 client?
05-11-2009 17:12
correct me if I am wrong, since the win SL Client is not optimized for 64 bit os's, performance gain is minimal at best, right? If SL were to make a Win x64 Client, what kind of performance gains can we expect? Isn't the RAM issue a 32 bit issue, and if you are running a 32 bit client...then will it make a difference?
Chosen Few
Alpha Channel Slave
Join date: 16 Jan 2004
Posts: 7,496
05-11-2009 18:29
From: Buster Sideshow
Isn't the RAM issue a 32 bit issue, and if you are running a 32 bit client...then will it make a difference?


The SL viewer itself is still running as a 32-bit application, but the system can have so much more memory available, the performance gain is huge.

Think about it like this. Let's say someone running a 32-bit OS has a 512MB video card. That will leave about 3.5GB, or slightly less, depending on other device memory usage, available to the operating system. Of that, Windows itself is going to use around 1GB, just to run. The remainder available to all applications is now just 1-2GB.

Now imagine a similar system, with a 64-bit OS, and 8GB of RAM. The video card won't make a dent (unless it's Vista Home Basic, which has an 8GB limit), so the entire 8GB will be available to the OS. Windows is still going to us a GB or so for itself, leaving around 7GB available to apps. That's anywhere from 3.5 to 7 times the amount of memory that would have been available with the 32-bit OS.

The benefits to all apps are significant, and are especially so for resource hogs like SL. The happier the computer, the happier the programs running on it. Make sense?
_____________________
.

Land now available for rent in Indigo. Low rates. Quiet, low-lag mainland sim with good neighbors. IM me in-world if you're interested.
Milla Janick
Empress Of The Universe
Join date: 2 Jan 2008
Posts: 3,075
05-11-2009 19:23
An x64 viewer would be a little faster because it wouldn't need the WoW64 compatibility layer the 32-bit viewer requires.

I presume it would also be able to use more than the 2GB of memory the 32-bit viewer is limited to. That's not an issue in normal use, but cranking up the draw distance will eventually hit that limit and crash the viewer.
_____________________


http://www.avatarsunited.com/avatars/milla-janick
All those moments will be lost in time... like tears in rain...
Buster Sideshow
Registered User
Join date: 25 Aug 2008
Posts: 52
05-11-2009 19:57
From: Milla Janick
An x64 viewer would be a little faster because it wouldn't need the WoW64 compatibility layer the 32-bit viewer requires.

I presume it would also be able to use more than the 2GB of memory the 32-bit viewer is limited to. That's not an issue in normal use, but cranking up the draw distance will eventually hit that limit and crash the viewer.



If the 32 bit client can only use 2gigs of available memory, then performance gains won't be any better than what is available now right? I am running a dual os system right now...32 bit windows xp pro with 4gigs of memory, 9800gt card with 512 video memory....and the same set up with windows 7 64 bit version rc. Assuming my current configuration has 2gigs of memory available in the 32 bit os...i would see no performance gain running sl with windows 7, correct?

Having more memory is always the best way to get performance gains, but if you can't access it, then it its kind of sitting there doing nothing. I can understand how the performance hit would be less if I'm running sl, windows media, a browser and other applications with a 64bit os as opposed to the 32bit.
Chosen Few
Alpha Channel Slave
Join date: 16 Jan 2004
Posts: 7,496
05-11-2009 23:00
From: Buster Sideshow
If the 32 bit client can only use 2gigs of available memory, then performance gains won't be any better than what is available now right?


It depends what else is running. If you've got nothing else going but SL and Windows x86, then the viewer will probably be able to snag the full 2GB it's capable of using. But if you've got any other programs open at the same time, they'll each be using SOME memory, which will make it very unlikely that a full 2GB will be available for any one program, out of the 3.5GB they all have to share.

Remember, what's good for the goose is good for the gander. If the system as a whole has more resources available, then each individual program will be able to run that much better.
_____________________
.

Land now available for rent in Indigo. Low rates. Quiet, low-lag mainland sim with good neighbors. IM me in-world if you're interested.
Milla Janick
Empress Of The Universe
Join date: 2 Jan 2008
Posts: 3,075
05-12-2009 06:51
In most circumstances, SL does not deal with the amounts of data that would benefit from 64-bit addressing. Usually the viewer users far less than 2GB of data, often less than 1.

Right now, you may find that a single instance of the SL viewer running by itself runs fastest under 32-bit XP Pro in normal use. That's been my experience. It's not a huge difference if you have a reasonably fast PC. I push SL a lot harder under 64-bit Windows than I ever did under 32-bit XP, so I don't know how they really compare when you push SL's limits.

That said, 32-bit XP is gone from my computer. I'm running the x64 versions of Windows 7 & XP for the reasons Chosen Few stated. Multiple 32-bit applications get as much memory as they want, and Windows has oodles of memory for cache.
_____________________


http://www.avatarsunited.com/avatars/milla-janick
All those moments will be lost in time... like tears in rain...
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
05-12-2009 08:55
Interestingly, with audio applications, experience shows that 64-bit applications run faster than 32-bit applications even when the memory footprint is small. The reason turns out that it's simply because when running in 64-bit mode, the processor has more internal registers, and the compiler generates more efficient code as a result.

I suspect that SL would benefit for the same reason.

But I think it's fine that SL continues to be a single 32-bit application. Let's not encourage them to complicate matters at this point!
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-12-2009 09:07
@Lear: On OS X it'd be a fat binary with 32-bit Power PC, 64-bit power PC, 32-bit Intel, and 64-bit AMD all in the same package. Mac doesn't have separate 32- and 64-bit OSes any more.

@Chosen: I've been doing a bunch of googling and I'll have to withdraw part of my complaint: it seems that if you have significantly more than 4GB RAM, you don't have problems from Vista's aggressive prefetching. I suspect that once you start getting many applications really taking advantage of the larger address space that will change.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Chosen Few
Alpha Channel Slave
Join date: 16 Jan 2004
Posts: 7,496
05-12-2009 11:55
From: Lear Cale
Interestingly, with audio applications, experience shows that 64-bit applications run faster than 32-bit applications even when the memory footprint is small.


That is interesting. Now if only audio device makers would get wise to that fact, and start producing ASIO drivers that don't freak out when presented with more than 4GB of RAM, that would be something. But I digress.


From: Argent Stonecutter
I've been doing a bunch of googling and I'll have to withdraw part of my complaint: it seems that if you have significantly more than 4GB RAM, you don't have problems from Vista's aggressive prefetching. I suspect that once you start getting many applications really taking advantage of the larger address space that will change.


Thanks for following up, Argent. I guess we'll have to wait and see what happens when applications catch up to the current state of the OS.

One minor point. Two of the three machines I've got here with Vista x64 have 4GB of RAM in them; the third has 8GB. In terms of disk usage on an every day basis, they're pretty much equal. So I don't think it's the case that you need "significantly more" than 4GB for Vista x64 to shine. More is better, obviously, but 4 works quite well.
_____________________
.

Land now available for rent in Indigo. Low rates. Quiet, low-lag mainland sim with good neighbors. IM me in-world if you're interested.
Buster Sideshow
Registered User
Join date: 25 Aug 2008
Posts: 52
05-12-2009 15:12
From: Chosen Few


One minor point. Two of the three machines I've got here with Vista x64 have 4GB of RAM in them; the third has 8GB. In terms of disk usage on an every day basis, they're pretty much equal. So I don't think it's the case that you need "significantly more" than 4GB for Vista x64 to shine. More is better, obviously, but 4 works quite well.


I'm beginning to remember the days when 256k of memory was huge, and a 1 meg hard drive was the size of a cassette player.... :))
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-12-2009 15:16
From: Buster Sideshow
I'm beginning to remember the days when 256k of memory was huge, and a 1 meg hard drive was the size of a cassette player.... :))
I have a 256k *bit* (16k byte) core memory board on my wall. It's bigger than a cassette player.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
1 2