I'm interested in who has the most RAM in ONE machine. The machine has to be running Linux or you're void from the contest ;P Whoever wins (the winner has to be above 900MB) will get a prize.
2048 MB DDR & 256 MB DDR3 video. I also have an additional 2048 MBs of swap space/virtual memory.
Please run free and paste the output here. Thanks
Quote from: mynameistmp on September 27, 2005, 03:40:33 PM
Please run free and paste the output here. Thanks
Pointlessly boot into Linux and ruin my connection uptime test? You've got to be kidding me. psh.
You're running Windows and void from the contest. The machine has to be
running Linux or you're void from the contest. But hey, I guess its not up to me to interpret the laws, I'm not the judicial branch of tmp incorporated.
Quotejoe@JoeMomma:~ $ sudo apt-get install free
Password:
Reading Package Lists... Done
Building Dependency Tree... Done
E: Couldn't find package free
/emotear.
Anyhow, 1024MB. I'll find free and install it. =)
newby@impaler:~$ free -m
total used free shared buffers cached
Mem: 883 850 32 0 265 103
-/+ buffers/cache: 481 401
Swap: 933 65 868
It's 1024MB RAM, but...
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000003ff30000 (usable)
BIOS-e820: 000000003ff30000 - 000000003ff40000 (ACPI data)
BIOS-e820: 000000003ff40000 - 000000003fff0000 (ACPI NVS)
BIOS-e820: 000000003fff0000 - 0000000040000000 (reserved)
BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
Warning only 896MB will be used.
:(
free
total used free shared buffers cached
Mem: 1035860 1011124 24736 0 211448 281800
-/+ buffers/cache: 517876 517984
Swap: 2031608 160 2031448
I wish I had this sitting at home though.
vmstat
procs memory page disk faults cpu
r b w swap free re mf pi po fr de sr f0 s0 s1 s2 in sy cs us sy id
0 0 18 4480 1720 0 0 0 0 0 0 0 0 0 15 0 4294967196 0 0 -22 -7 -122
mpstat
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
0 15 0 509 123 120 93 3 3 7 0 419 14 5 2 79
1 15 0 512 172 169 92 3 4 8 0 397 14 5 2 80
2 15 0 505 105 102 94 3 4 5 0 138 17 6 2 76
3 15 0 196 448 246 90 3 4 5 0 373 14 4 1 81
Why not the lowest amount T_T ? I have 512 MB
HP-UX servers are running a flavor of Unix, sort of. Does that count?
If so, I have two, each of which have 7+ processors and 8+ gb ram.
We should re-define the rules.
A linux box (used daily, none of this dual boot to occasionally use *nix as to keep ego up (LoRd)) at home (windowlicker) for the desktop (quik). :P
In other words, Newby and myself win. =p
EDIT -
Tiebreaker, processor speed. 2.8GHz here, you?
EDIT -
tmp, may I ask why we need more than 900MB of RAM?
Quote from: Joe[e2] on September 27, 2005, 06:43:37 PM
EDIT -
Tiebreaker, processor speed. 2.8GHz here, you?
Detected 3398.425 MHz processor.
Yeah, when I get home I'll run free and pwn you both with 2048 MB RAM, 256MB DDR3, and 2048MB of swap space (same specs as LoRd IIRC)
Quote from: Newby on September 27, 2005, 06:29:11 PM
We should re-define the rules.
A linux box (used daily, none of this dual boot to occasionally use *nix as to keep ego up (LoRd)) at home (windowlicker) for the desktop (quik). :P
Heh, the top one was my personal linux box, and the output was from free. The bottom one, was a SunOS server from a research lab. SunOS lacks "free", so I used vmstat and mpstat.
Quote from: Windowlicker on September 27, 2005, 06:59:17 PM
Heh, the top one was my personal linux box, and the output was from free.
Ahh. I figured when you said "I wish this was here" you meant both. =p
Servers are computers too. You're just angry because I win.
Alright! Enough fun. Now, I don't want to be a dick but I don't actually care how much RAM any of you have. The truth is that this is another lesson-post in trap form!
Quote from: Joe[e2] on September 27, 2005, 06:43:37 PM
EDIT -
tmp, may I ask why we need more than 900MB of RAM?
Good question, Joe! I had a sneaking suspicion that many of you guys probably have some fancy machines (with plenty o' RAM), but you probably didn't know that Linux, out of the box anyways, doesn't support more than 960MB of RAM ;P Don't believe me ? Check out Newby's situation ;P
Quote from: Newby on September 27, 2005, 05:09:22 PM
newby@impaler:~$ free -m
total used free shared buffers cached
Mem: 883 850 32 0 265 103
-/+ buffers/cache: 481 401
Swap: 933 65 868
It's 1024MB RAM, but...
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000003ff30000 (usable)
BIOS-e820: 000000003ff30000 - 000000003ff40000 (ACPI data)
BIOS-e820: 000000003ff40000 - 000000003fff0000 (ACPI NVS)
BIOS-e820: 000000003fff0000 - 0000000040000000 (reserved)
BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
Warning only 896MB will be used.
:(
If you ran
free on a shell server (cheated) then you probably got the expected amount because the admin hopefully knows what he's doing.
Anyhow, on with the issue at hand.
Good news: I'm about to tell you how to fix the problem
Bad news: You'll have to recompile your kernel.
The linux kernel actually supports up to 64GB of RAM. However, in order to use anything past 960MB you need to configure the
CONFIG_NOHIGHMEM define appropriately then rebuild your kernel. You want something like so:
up to 960MB: off
up to 4GB: 4GB
up to 64GB: 64GB
If you select 64GB your processor must be capable of PAE mode. That includes all processors since the Pentium Pro, so you're probably OK. The kernel will refuse to boot if you don't have it which is why this configuration isn't enabled by default.
Also, if you've got an older BIOS it might have trouble reporting the amount of RAM to the bootloader accurately. If you've taken the above step and it still doesn't work properly add this to your
/etc/lilo.conf:
append="mem=2048M"
Where I have 2 Gigs of RAM. All should be well.
1 GB SDRAM
Another fun tip from tmp. Thanks. :)
Quote from: mynameistmp on September 28, 2005, 03:14:02 AM
Alright! Enough fun. Now, I don't want to be a dick but I don't actually care how much RAM any of you have. The truth is that this is another lesson-post in trap form!
Quote from: Joe[e2] on September 27, 2005, 06:43:37 PM
EDIT -
tmp, may I ask why we need more than 900MB of RAM?
Good question, Joe! I had a sneaking suspicion that many of you guys probably have some fancy machines (with plenty o' RAM), but you probably didn't know that Linux, out of the box anyways, doesn't support more than 960MB of RAM ;P Don't believe me ? Check out Newby's situation ;P
Quote from: Newby on September 27, 2005, 05:09:22 PM
newby@impaler:~$ free -m
total used free shared buffers cached
Mem: 883 850 32 0 265 103
-/+ buffers/cache: 481 401
Swap: 933 65 868
It's 1024MB RAM, but...
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000003ff30000 (usable)
BIOS-e820: 000000003ff30000 - 000000003ff40000 (ACPI data)
BIOS-e820: 000000003ff40000 - 000000003fff0000 (ACPI NVS)
BIOS-e820: 000000003fff0000 - 0000000040000000 (reserved)
BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
Warning only 896MB will be used.
:(
If you ran free on a shell server (cheated) then you probably got the expected amount because the admin hopefully knows what he's doing.
Anyhow, on with the issue at hand.
Good news: I'm about to tell you how to fix the problem
Bad news: You'll have to recompile your kernel.
The linux kernel actually supports up to 64GB of RAM. However, in order to use anything past 960MB you need to configure the CONFIG_NOHIGHMEM define appropriately then rebuild your kernel. You want something like so:
up to 960MB: off
up to 4GB: 4GB
up to 64GB: 64GB
If you select 64GB your processor must be capable of PAE mode. That includes all processors since the Pentium Pro, so you're probably OK. The kernel will refuse to boot if you don't have it which is why this configuration isn't enabled by default.
Also, if you've got an older BIOS it might have trouble reporting the amount of RAM to the bootloader accurately. If you've taken the above step and it still doesn't work properly add this to your /etc/lilo.conf:
append="mem=2048M"
Where I have 2 Gigs of RAM. All should be well.
I think your post is a little misleading, I'll try to see if I can clear the concept up, from what I remember reading in "Understanding the Linux Kernel"
First of all, the processor can directly access 4GB of virtual memory, because it has a 32 bit address space. (Assuming we are using a 32 bit processor) This window is split into two types: user address space, and the kernel address space.
These two are separated by the PAGE_OFFSET values, which I know to be 0xC0000000 under linux. This means that under the default, 3gb is allocated to the user address space, and 1gb is allocated to the kernel.
The kernel has a special area of memory reserved for vmalloc, and it dedicates 128mb to it. That means the kernel can only use 896 mb of mapped memory directly, since 1024-128 = 896.
So, if you have more than 1gb of RAM, it does not mean that your memory is not being used.
Anyhow, to get around this problem you could use a different PAGE_OFFSET or you could set HIGHMEM. HIGHMEM is known to consume extra cpu cycles, and use a little bit of memory itself. So from my experience, the best option if you have under 2gb of memory, is to edit the PAGE_OFFSET value. A 2gb:2gb split between user space and kernel space seems reasonable. Although this has obvious drawbacks since you're decreasing user space.
There are a lot more complexities to this whole issue, such as affecting the sbrk() heap and mmap() zones, and you should read about it more before deciding to either patch your kernel's PAGE_OFFSET value, or adding HIGHMEM support.
What part of my post was misleading ?
"doesn't support more than 960MB of RAM"
It's not 960mb, and the ram is used, just not in the kernel address space.
Quote
x Linux can use up to 64 Gigabytes of physical memory on x86 systems. x
x However, the address space of 32-bit x86 processors is only 4 x
x Gigabytes large. That means that, if you have a large amount of x
x physical memory, not all of it can be "permanently mapped" by the x
x kernel. The physical memory that's not permanently mapped is called x
x "high memory".
x If you are compiling a kernel which will never run on a machine with x
x more than 960 megabytes of total physical RAM, answer "off" here (defau x
x choice and suitable for most users). This will result in a "3GB/1GB" x
x split: 3GB are mapped so that each process sees a 3GB virtual memory x
x space and the remaining part of the 4GB virtual memory space is used x
x by the kernel to permanently map as much physical memory as x
x possible. x
x x
x If the machine has between 1 and 4 Gigabytes physical RAM, then x
x answer "4GB" here.
-- Linux 2.4.29 Configuration help menu
My understanding was that if the kernel cannot map the memory, then it is not going to be used. Perhaps I am wrong, although if I am, I don't know why the help menu would say this:
Quote
x If the machine has between 1 and 4 Gigabytes physical RAM, then x
x answer "4GB" here.