Originally posted by: RelaxTheMind
Originally posted by: VirtualLarry
Well, DRAM didn't used to be as cheap as it is these days, and why should someone toss, say, a 1GB DDR stick, if 99% of it is good and it could be use sucessfully in a non-primary system? Or even more likely, in laptop or some situation in which the parts aren't easily drop-in replaceable commodities? (In some cases, there is a base amount of DRAM soldered directly to the laptops mobo. In other cases the DRAM expansion cards are proprietary and expensive.)
Yes... The ram i speak of one of them i paid $125 for a 128mb stick... which is close to $1/1mb... the ddr i have of course of your $80 newegg 256mb ddr special like 3 years back...
My next system will most likely consist of ECC Ram. Im kind of getting over the whole super overclocking scene anyways.
I am in the same boat. Used to overclock, now I don't give a crap about it. Computer is fast enough.
I have bad stick of 512meg ram that I am using in my Linux desktop. Had it for a long time, don't remember were I bought it from. Don't remember the manufacturer.
Next time I buy RAM it's going to be ECC. Hopefully that will catch anything before it crashes my computer or something.
I have Badram patch applied and have the memory mapped out. It's just a tiny section of ram.
What it does is that it simply maps the bad section of RAM to kernel protected space, so that none of the normal applications can use it. That's it. So since it uses the normal kernel memory managment stuff there is no worry about the VM moving it around or anything and there are no dirty hacks or whatnot.
It only works, though, if your kernel does occupy enough RAM to reach the Bad section of RAM, if it does then the computer probably won't boot without a kernel panic anyways. But since the kernel is static size you don't have to worry about it moving to the bad ram spot. Any modules you load after booting will be placed around the badram section if need be. Usually what people do is switch the dram sticks around so that the bad section of ram gets moved to a different section of the computer's memory map.
I have 1GB of RAM in my system. That's a awfull lot to go wrong, and I think it would be a waste to throw away a otherwise perfectly good stick of fast RAM. I wouldn't use it in a production server, but it's fine on my desktop. It would also probable be usefull if you have a older server or some weird setup were your going to have a hard time finding replacement ram for, or it would be very expensive. Like if you have something that uses rambus ram or whatnot.
It's something stupid simple if your familar with compiling kernels and it works. Memtest86 makes it easy to use Badram because it will even spit out memory mappings that you can copy directly to kernel boot time parameters.
If it was under warrrentee I would return it in a second though.
As for why Windows doesn't have it?
Why would Microsoft want to put something like that in there?! They aren't responsable for your crappy hardware and it would cause a support nightmare. If you have a bad stick of RAM and even if the bad spot is in a small section the rest of the stick is very questionable and probably flaky. If Microsoft supported this feature it would be like them accepting the fact that they figure their OS would work fine even with flaky RAM.. They need that like they need a hole in their head.
This BadRAM is just a stupid hack that works. It adds like a total of 20 lines to the kernel code and is just something you use when you can't get the RAM replaced for whatever reason and you don't want to throw it away.
There is a related patch called Badmem that is much more capable then Badram, but badram is simplier to use and that's why I use it.