1. Work around faulty RAM
- Posted by Lutz_Heitmann at NF.MAUS.DE Mar 21, 2001
- 464 views
- Last edited Mar 22, 2001
Hello Euphorians, Is it possible to use Euphoria to keep Windows NT from using specific address ranges in physical RAM? I'm thinking of this: You have some "bad spot" in memory. Now make Euphoria allocate memory in 1 mb chunks, until one of the chunks contains this "bad spot". Then free all the other chunks, and only this one chunk won't be used by Windows anymore. The EU-program must not terminate, of course, only minimized (a little icon in the task bar) or even be made invisible. Would it work? A very good program for checking RAM can be found by having a search engine look for memtest, memtest86 and such. It should come up with something like www.reality.sgi.../... (I have to look up the URL). This program also gives the exact error location, so you can use it in the EU-program. Lutz. PS: My idea for this EU-program could even be commercially successful - I'd call it "RAMRepair"... ;)
2. Work around faulty RAM
- Posted by Lutz_Heitmann at NF.MAUS.DE Mar 26, 2001
- 428 views
- Last edited Mar 27, 2001
-P44249@NF Hello Euphorians, I wrote this a few days ago: LH>make Euphoria allocate memory in 1 mb chunks, until one of the chunks LH>contains this "bad spot". Then free all the other chunks, and only this LH>one chunk won't be used by Windows anymore. LH>The EU-program must not terminate, of course, only minimized (a little LH>icon in the task bar) or even be made invisible. LH>Would it work? Seems like it wouldn't work. I wrote a program test.exw: include machine.e atom x x = allocate(1000000) ? x while 1 do end while Then I started it a dozen times from the desktop, expecting the value of x to go up with every new task. NT should allocate memory further and further on within physical memory space. But the address was always the same... I even suspected NT of reallocating the same space over and over again, but that wasnt the case: A value poked in one task didn't show up in another task at (seemingly) the same address. Now I'm wondering: What do these addresses actually mean? Lutz.
3. Re: Work around faulty RAM
- Posted by Robert Craig <rds at RapidEuphoria.com> Mar 26, 2001
- 448 views
- Last edited Mar 27, 2001
Lutz Heitmann writes: > Then I started it a dozen times from the desktop, > expecting the value of x to go up with every new task. > NT should allocate memory further and further > on within physical memory space. But the address > was always the same... > I even suspected NT of reallocating the same > space over and over again, but that wasnt the case: > A value poked in one task didn't show up in another > task at (seemingly) the same address. > Now I'm wondering: What do these addresses > actually mean? You've just discovered the difference between "virtual" memory and physical memory. The addresses that you normally deal with in a Euphoria (or any other language) program are called "virtual" addresses. Each program has it's own "virtual address space" that is independent of the address space of all other programs. The operating system and the hardware map each virtual address to a physical address. This is done very quickly so it doesn't slow things down. The physical address is fed to the memory chips and they respond with the data that's stored at that physical address. Typically a chip will hold just one bit over a range of addresses, so you might need 8 chips to get all the bytes over a range of addresses. A few years ago I had a problem similar to yours, where my machine was crashing a lot and I suspected that I had faulty memory. I wrote a Euphoria program to copy megabytes of data (in a sequence) back and forth millions of times, checking the result of the copy each time. After running for several minutes the program would usually fail, with a single bit being incorrect in one byte. This showed that I had an unreliable chip. I got all the memory chips replaced, and the machine was fixed. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
4. Work around faulty RAM
- Posted by Lutz_Heitmann at NF.MAUS.DE Mar 29, 2001
- 427 views
-P64516@KI Hello Robert, RC>You've just discovered the difference between "virtual" memory and RC>physical memory. Nope! - I've known the difference for more than a decade. RC>Typically a chip will hold just one bit over a range of addresses Trivially so! (for me at least) RC>I got all the memory chips replaced, and the machine was fixed. But that's exactly what I'm trying to avoid! It doesn't make sense to replace 128 mb of RAM, when only 1 out of > 1 billion bits doesn't work right. "Elderly" EDO-RAM is getting pretty expensive (if available at all), and I only want to keep it running... Lutz.