RAM Recognition

Using applications, configuring, problems
Post Reply
Message
Author
Mavo
Posts: 6
Joined: Sat 14 Jun 2008, 20:52

RAM Recognition

#1 Post by Mavo »

Hello specialists,

on old HW (Pentium1 /133MHz, SIS 85C501 chipset) I full-installed Puppy 3.01 on the HDD. The MoBo has 128MB of RAM, which is correctly counted by BIOS POST on startup. Running memtest86 (with option: probe) also recognizes 128MB, without "probe" only the 64MB which are reported by BIOS, which I think is a limitation on some old machines.

Puppy only recognizes 64MB, probably referring to BIOS. 64MB is not really nice to run Puppy in, I want to use all 128MB (even if only 64MB are cachable - better uncached from RAM than swapped). Normally the Kernel parameter "mem=128M" in GRUB should tell Puppy the available RAM, but it does not work. How can I tell Puppy the available RAM size?

Regards

Martin

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#2 Post by Pizzasgood »

Question: are you basing your numbers off that applet in the taskbar? Because that applet doesn't necessarily refer to your RAM. It's actually there to keep track of how much space is left in your root filesystem, which is generally inside the pup_save.2fs file. So for most cases it refers to the free space in the pup_save.2fs file. When running entirely from ram, with no save file, then it refers to the ram available for Puppy to expand the filesystem into. For full-hd installs it shows the space in your partition.

To get the free ram, use the free or top commands from a terminal.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

Mavo
Posts: 6
Joined: Sat 14 Jun 2008, 20:52

#3 Post by Mavo »

Hello Pizzasgood, thanks for your reply! I refer to "free" and other system info which definitely show the recognition of just 64M. This is considered as "LowMem", "HighMem" is zero. There is no hint that any more RAM than this is used.

Bruce B

#4 Post by Bruce B »

I would go back to the BIOS setup.

Turn off plug and pray OS if on.

Check the OS/2 64MB RAM settings and if set for OS/2 unset it.

Mavo
Posts: 6
Joined: Sat 14 Jun 2008, 20:52

#5 Post by Mavo »

Bruce B, I really carefulle checked the BIOS, but there is no such OS/2 setting available. The BIOS is from 1994.

However, I see that MemTest86 - if started regularly - obviously also gets the 64MB memory table from BIOS, but if MemTest86 is asked for "probing" the RAM, it can detect and test the full memory. So I think that the best way would be to use the same piece of memory probing software for Puppy to correct the mem table (but how to do???), or (more dangerous) to manually edit the mem table entries, but how to do that?

Finally, why does Puppy not react to the "mem=128M" kernel parameter? What I understood after days of googling, this command should take care of this specific problem. The bootlog file shows that this command is read correctly, but the kernel obviously does not make use of it. Perhaps the Kernel in Puppy requires a different command?

Bruce B

#6 Post by Bruce B »

Mavo wrote: Finally, why does Puppy not react to the "mem=128M" kernel parameter?
Mavo,


Sometimes this is a limiter, sometimes a definition. But it can't be exceeded. I thought the computer was old. That's why I recommended checking the OS/2 setting. You've surprised me that it's not there.

New computers we have RAM banks and it doesn't matter where we put the chips.

1994, is a different story. How many slots do you have? How many chips are you using to get 128MB? The answer doesn't matter to me.

The order in which these chips are inserted on the banks, can be the critical difference.

The more chips, the more combinations, usually we can take the case apart and watch the POST memory count to see if we are getting compatibility. Thus reducing the amount of RAM.

Sometimes on old BIOS we have to tell the computer how much RAM it has. Don't think so on yours, but review every single page in your BIOS setup.

Doesn't look so easy? Sorry, friend, but based on my experience that's where I'm sending you, back to the hardware level. Meaning to say before the OS even comes into play.

Once you've done all you can at that level the OS tests.

Does another OS such as DOS with himem.sys see all the RAM?

Does another small Linux distro see all the RAM.

Diagnosis is a process of inductive and deductive reasoning - narrowing things down until you locate the problem.

Depending on the RAM chips of that era, resolving the problems can be a time consuming process. You might have to see if you can get it to see 96 MB, that is if you're using 4 32MB chips.

Most important. You don't have to believe me or follow any of my advice. I know I'm asking a lot from you, but this is what I'd do.

Bruce

EDIT Update: Do not over look inspecting the gold contacts on the chips, use a pencil eraser to clean them if black, do not touch them. Seat them in and out a few times, then shove them in nice and tight.

Check your BIOS chip to see if it has loosened, this is common on old computers. Shove it it tight, but don't break the mother board, it has to be backed physically up so it doesn't bend too far and break.

Mavo
Posts: 6
Joined: Sat 14 Jun 2008, 20:52

#7 Post by Mavo »

Hello Bruce B,

thanks for taking your time for solving my problem! I fully agree that only systematic investigation can lead to success.

RAM chips: there are 4 pcs. of 32MB chips. I tried all possible combinations of position of them into the slots, and in all cases the 128MB were correctly recognized during POST, and always the OS detected only 64MB. The memory chips must be put in as pairs, so 3 memory chips (96MB) won´t work.

I again and again checked the manual for any hints concerning BIOS settings (I meanwhile know it by heart), nothing is mentioned re. memory detection at all.

I removed and firmly replugged the BIOS chip, even resetted CMOS: no progress.

A good question is concerning results of other OSs: win95 and win98 also detect just 64MB. When googling I got the impression that BIOSes of several computers of that age will give memory maps to the OS only up to 64MB, so if the OS relies on the BIOS memory map it will get incorrect value, unless it probes the memory by itself as MemTest86 does. But I think I have a live CD of Feather Linux I can try, and DSL as well, this is a very good hint! Will come back with the results.

Martin

Mavo
Posts: 6
Joined: Sat 14 Jun 2008, 20:52

#8 Post by Mavo »

Bruce,

the Knoppix-based Feather and DSL distros as well detect only 64MB. However, if I add the "mem=XXXM" command ("DSL vga=normal mem=128M"), although it is not explicitely provided in the parameter list, while booting the live CDs, there is a reaction: I get kernel panic ("cannot mount file system"). Perhaps Linux tries to access the memory but fails.

The machine is running nicely with 64MB and win98. It appears to me that old HW is served better by old Windows OS than by Linux. As I use Linux on other machines, I would have liked to get Puppy running on the "Oldie" as well, but I think it just won´t work. And running Puppy @ 64MB is no fun.

However, thanks for your help, your idea of testing other distros at least helped me to take a decision!

Best regards

Martin

Post Reply