Installed memory ≠ usable size?


 
Thread Tools Search this Thread
Special Forums Hardware Filesystems, Disks and Memory Installed memory ≠ usable size?
# 15  
Old 07-10-2009
Quote:
I haven't been to a BestBuy for ages. I can't tell how you intended the statement since your intonation doesn't come through the text.
It seems like you don't have a real problem, and that you were asking a theoretical question -- like fact-checking GeekSqaud personnel.

Do you or do you know what's eating your top in .5 GB of memory? Can you check if it's the video?

Quote:
Are you doubting my statement on 64-bit addressing?
A 32-bit processor can natively and directly address 4 GB of memory. Since the 8086 architecture allowed for a "segment" address combined with an actual memory pointer, the x86 architecture theoretically maintains the ability to address more memory than this.
I doubt it hard to believe that a 64-bit chip would be able to address more memory.
# 16  
Old 07-10-2009
Quote:
Originally Posted by otheus
It seems like you don't have a real problem, and that you were asking a theoretical question -- like fact-checking GeekSqaud personnel.
I'm currently eating all of my memory and would like to get the last half-gig. What's more, I'd like to know if I'd be able to double the memory further (buying 4x2GB, since my current setup is full at 4x1GB). So no, it's not theoretical.

Quote:
Originally Posted by otheus
Do you or do you know what's eating your top in .5 GB of memory?
I don't understand why we don't understand each other on this point. I have a 64-bit processor and a 64-bit operating system; I should have no trouble addressing 128 GB. Video memory only reduces currently-available memory if you've used up your addressing limit. So when I had 2 GB and was uncontroversially below my addressing limit, I could see all 2 GB (precisely 2048 MB). Video mapping did not reduce the memory at all.

But now 512 MB are not showing up. The possibilities, as I see them:
1. The OS can only address 32 bits, so only 3.5 GB can be used.
2. The processor can only address 32 bits, so only 3.5 GB can be used.
3. The motherboard can only address 32 bits, so only 3.5 GB can be used.
4. The BIOS is misconfigured to address only 32 bits, so only 3.5 GB can be used.
5. The BIOS is misconfigured in some other way that causes only 3.5 GB to show up.
6. The RAM is bad in some bizarre way that causes only 3.5 GB to be usable.
7. 4 GB are available, but for some reason the tools I'm using (ps, gnome-system-monitor, the BIOS) only see 3.3 to 3.5 GB.
8. Something else is wrong.

#1 and #2 clearly don't apply to me: the OS is 64-bit and the processor, a Phenom II, is also 64-bit. I don't think that #4 is possible. I've looked through the BIOS settings pretty carefully and didn't see anything, but I concede that #5 is possible. #6 and #7 seem absurd. #8 is always a possibility.

What do you think?

Quote:
Originally Posted by otheus
Can you check if it's the video?
I know of no way to do this.

Quote:
Originally Posted by otheus
A 32-bit processor can natively and directly address 4 GB of memory. Since the 8086 architecture allowed for a "segment" address combined with an actual memory pointer, the x86 architecture theoretically maintains the ability to address more memory than this.
As I have an x86_64 (aka AMD64) processor rather than the classic x86, I don't think this is particularly relevant. Of course the microarchitecture is similar, but I don't think there's any disagreement as to the chip's ability to work with more than (say) 8 GB of memory.

Quote:
Originally Posted by otheus
I doubt it hard to believe that a 64-bit chip would be able to address more memory.
I don't follow...?
# 17  
Old 07-13-2009
Quote:
I don't understand why we don't understand each other on this point. I have a 64-bit processor and a 64-bit operating system; I should have no trouble addressing 128 GB.
Your BIOS is reporting 3.5 GB, so it has nothing to do with the OS. Theoretically, you can tell the kernel to see 4 GB of memory, and if it's addressable and physically there, it will find it. You can do this with the mem= parameter (modify lilo/grub.conf).

Quote:
Video memory only reduces currently-available memory if you've used up your addressing limit.
Where do you get this idea? Most video controllers use system memory. How much they use is usually configured in the BIOS. What BIOS do you have, and what's the version? This is reported on POST. You can also see it in BIOS setup. Changing video memory is almost always an option in BIOS setup. Perhaps this parameter reset itself when you added memory?

Quote:
3. The motherboard can only address 32 bits, so only 3.5 GB can be used.
4. The BIOS is misconfigured to address only 32 bits, so only 3.5 GB can be used.
These are absurd! 32 bits can address 4 GB.

Code:
5. The BIOS is misconfigured in some other way that causes only 3.5 GB to show up.

Check video RAM usage.

Code:
6. The RAM is bad in some bizarre way that causes only 3.5 GB to be usable.

This is HIGHLY plausible. Perhaps by handling the sticks you have shorted out one or more chips. Or, perhaps one of your sticks is slower than the others and needs a slower refresh rate. Each stick has an ID, a frequency (or data rate) and a series of numbers after, like 3200-3-2-2-3. All yours should be the same. If not, you have to tell the BIOS to go with the larges value in each slot. For instance, if you have one stick that says (-3-2-2-4) and another that is (-3-3-2-3), you need (-3-3-2-4).
# 18  
Old 07-13-2009
Quote:
Originally Posted by otheus
Where do you get this idea? Most video controllers use system memory.
That's not what I'm talking about. This is memory that would show up as used, not memory that would fail to show up.

I'm talking about the "memory barrier":
Ask Dan: What's with the 3Gb memory barrier?
TabBlogger : The 3GB-not-4GB RAM problem
which is caused by addressing space being used, not for memory, but for an external resource. This does *not* affect systems with actual memory + resources <= addressing space.

A 32-bit system with a 512 MB of hardware resources* and 2048 MB of memory can use 2048 MB of memory.

A 32-bit system with a 512 MB of hardware resources* and 4096 MB of memory can use 3584 MB of memory.

* PCI, BIOS, etc.
# 19  
Old 07-14-2009
Quote:
That's not what I'm talking about. This is memory that would show up as used, not memory that would fail to show up.
*sigh* No. This would be memory that doesn't show up. You are confusing memory usage of the OS with BIOS allocation. The BIOS might be allocating 512 MB for hardware, but if it supports a 64-bit OS and a 64-bit address space, then that should not be a problem. You are using a newer (2008 -- his article was in 2007 and referred to "old" motherboards) Motherboard, and it appears it can support this configuration.

Read this article here and you can see how to configure the BIOS for a bunch of things. It does not show video RAM allocation, but I'm sure you'll find it. When you have tuned it down to 128 MB RAM, and checked the memory size again, and if you're STILL missing 512 MB, then I'll eat my words. Ok?
# 20  
Old 07-14-2009
Howdy folks!

This might not relate, but:

2 Years ago I had pretty much the same problem on one of my 8 puters at home:

Ubuntu 6 or 7, 64 bit, showed only 3.5 gb visible. Tried windows with PAE switch, same stuff as with windows 64 bit. Couldn't get my 4GB...

Went to the gigabyte's site, flashed the BIOS, and bang... I've got my 4GB all nice and shiny.
(I don't recommend flashing BIOS unless it fixes stuff you are actually having problem with since many things can go wrong. If you are desperate enough, give it a try.)


Btw - as Otheus said - check the BIOS settings.
As you probably know yourself, there's bunch of stuff to configure, might be there's some for RAM speed, etc that you missed or require manual setup.
Also - check motherboard manual, might be there's some jumper that needs placing on a different spot (as with overclocking the processor in some cases - but I've never seen something like it for RAM before).
Of course - be very, very careful if you do something like that since you might actually cause harm to the hardware (you probably know this, but it should be mentioned for those who don't and might be reading this article).

If you have a non-onboard graphics card I believe that the video-memory sharing allocation is not used since onboard videocard is auto-disabled in that case.

Hope any of this helped Smilie

Cheers,
Matt
# 21  
Old 07-14-2009
Quote:
Originally Posted by otheus
When you have tuned it down to 128 MB RAM, and checked the memory size again, and if you're STILL missing 512 MB, then I'll eat my words. Ok?
My BIOS doesn't have an option to change video RAM.

I pulled out 2 GB of RAM so I only have 2 GB in the computer. But it's showing up as 2048 MB, not 1536 MB. So the problem only happens when I'm trying to use 4 GB.

So exactly 0 MB of my RAM is used as video RAM when I have only 2 GB installed.

Quote:
Originally Posted by otheus
The BIOS might be allocating 512 MB for hardware, but if it supports a 64-bit OS and a 64-bit address space, then that should not be a problem. You are using a newer (2008 -- his article was in 2007 and referred to "old" motherboards) Motherboard, and it appears it can support this configuration.
I hope that's the case. You can understand if I'm a little wary, though.

---------- Post updated at 06:31 PM ---------- Previous update was at 06:26 PM ----------

Quote:
Originally Posted by gustisok
Ubuntu 6 or 7, 64 bit, showed only 3.5 gb visible. Tried windows with PAE switch, same stuff as with windows 64 bit. Couldn't get my 4GB...

Went to the gigabyte's site, flashed the BIOS, and bang... I've got my 4GB all nice and shiny.
(I don't recommend flashing BIOS unless it fixes stuff you are actually having problem with since many things can go wrong. If you are desperate enough, give it a try.)
That sounds promising. I may try it.

Quote:
Originally Posted by gustisok
Btw - as Otheus said - check the BIOS settings.
As you probably know yourself, there's bunch of stuff to configure, might be there's some for RAM speed, etc that you missed or require manual setup.
The two things that I most wanted to change were RAM speed and video settings, but my BIOS doesn't seem to have options for either! It's strange, because I'm used to seeing both. Maybe the RAM speed is there and I just missed it because it was listed as a multiplier rather than a speed. Hmm...

Quote:
Originally Posted by gustisok
Also - check motherboard manual, might be there's some jumper that needs placing on a different spot (as with overclocking the processor in some cases - but I've never seen something like it for RAM before).
OK, I'll check that. I had a lot of trouble getting this computer to work -- the original motherboard never worked but conducted enough voltage that it fried the 3 (!) processors that were installed (one at a time, naturally -- two by me and the third by a Microcenter tech), so I've read the manual rather closely. But I haven't consulted it in the months since.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. AIX

Installed Memory 32GB but shows only 16GB

Hello facing this problem in VIOS installed memory shows 32GB Installed system memory: 32 GB (32768 MB) Configurable system memory: 16 GB (16384 MB) Current memory available: 2.23 GB (2288 MB) Pending memory available: 2.23 GB (2288 MB) Reserved firmware memory: 560 MB ... (8 Replies)
Discussion started by: filosophizer
8 Replies

2. Programming

Size of memory used by a program

Hello, Here is a portion of my code: a=(int *) malloc(dim*dim*sizeof(int)); b=(int *) malloc(dim*dim*sizeof(int)); c=(int *) malloc(dim*dim*sizeof(int)); for(i=0;i<dim;i++) for(j=0;j<dim;j++) c= rand(); for(i=0;i<dim;i++) for(j=0;j<dim;j++) b=rand(); ... (6 Replies)
Discussion started by: chercheur111
6 Replies

3. Solaris

T5220 How to determine physical memory installed?

Hi, looking to upgrade memory on a pair of T5220's from 32GB to 64GB. Cannot determine current DIMM size and slots used. i.e. not sure if Qty 16 x 2GB or Qty 8 x 4GB. If there are no empty slots, i need to go with higher density DIMMs and retire exsisting the 2GB prtdiag follows. #... (3 Replies)
Discussion started by: edrew
3 Replies

4. UNIX for Dummies Questions & Answers

Getting file size from memory

i want to avoid writing to a file on the disk. i'd like to do this in memory. i have a situation where i'm running cat file.txt | head -l 2024 > /tmp/data.txt now, i check the size of the data.txt by doing a "du -sh /tmp/data.txt how can i get the size of "head -l 2024" WITHOUT having to... (2 Replies)
Discussion started by: SkySmart
2 Replies

5. Solaris

Memory or CPU size

Is there a command or file I can look at that tells me how much real memory a machine has? A little background. In my shop we run a bunch of java programs, sometimes some of these jobs have config definitions that call for 2G. I would like to know how many I can run before I exhaust rescources. Any... (12 Replies)
Discussion started by: Harleyrci
12 Replies

6. UNIX for Advanced & Expert Users

Out of Memory error when free memory size is large

I was running a program and it stopped and showed "Out of Memory!". at that time, the RAM used by this process is around 4G and the free memory size of the machine is around 30G. Does anybody know what maybe the reason? this program is written with Perl. the OS of the machine is Solaris U8. And I... (1 Reply)
Discussion started by: lilili07
1 Replies

7. Shell Programming and Scripting

User perl to get memory installed in a machine

I currently have a statistics gathering script i run on my Linux servers. One of the stat i gather is total memory in the machine. The script is all perl with the exception of gathering the memory for that i use the following command: $ram = (`cat /proc/meminfo | grep "MemTotal" | awk... (1 Reply)
Discussion started by: insania
1 Replies

8. UNIX for Advanced & Expert Users

memory size under AIX

Hi, how to know size of physical memory under AIX ? Many thanks. PS : man -k memory man : 0703-310 Fichier man introuvable. uname -a AIX server1 1 5 005202DF4C00 (3 Replies)
Discussion started by: big123456
3 Replies

9. UNIX for Dummies Questions & Answers

Size of Installed RAM ?

Is it possible from the command line, or by looking at one of the log files to find out the amount of RAM installed on my SCO Unix 5.05 Server? I also need to find out H/Disk size and Processor speed but I think i'll do a search of the forums for those ones. Thanks RamblasPro (2 Replies)
Discussion started by: RamblasPro
2 Replies

10. UNIX for Dummies Questions & Answers

How to get amount of memory installed.

Hi! I'm not a UNIX fanatic but I like using it for the Oracle database since it's not stable in the Windows NT environment (what is?). Problem: Is there any command to show me the amount of installed physical-memory in the machine? Is there some other way to show the processes which uses... (4 Replies)
Discussion started by: elgholm
4 Replies
Login or Register to Ask a Question