Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Memory Test?

10 views
Skip to first unread message

Tom Scheer

unread,
Nov 4, 1996, 3:00:00 AM11/4/96
to

I'm running 4.2, and I'd like a utility to exercise my DRAM and make sure it's
ok. I have 256M installed and would like to identify any intermittent
problems with a memory test program rather than through odd system
hangups.

I don't see anything in the documentation or SCO's web site. If you know of
some software, please let me know.

Thanks,
Tom Scheer
t...@iwcp.com
tsc...@ioc.net

Jaroslaw Ozimek

unread,
Nov 6, 1996, 3:00:00 AM11/6/96
to

Tom Scheer (t...@iwcp.com) wrote:
: I'm running 4.2, and I'd like a utility to exercise my DRAM and make sure it's
: ok. I have 256M installed and would like to identify any intermittent
I have the same problem, but on Open Server 5.0.2d and 64M.... Well, but I can
replace my RAM and test it on the PC :-) what i would not like to do.

--
Jaroslaw Ozimek
Technical University of Wroclaw
Institute of Technical Cybernetics
joz...@asic.ict.pwr.wroc.pl

Jeff Liebermann

unread,
Nov 12, 1996, 3:00:00 AM11/12/96
to

Tom Scheer (t...@iwcp.com) wrote:
: I'm running 4.2,
That's 3.2v4.2

: and I'd like a utility to exercise my DRAM and make sure it's

: ok. I have 256M installed and would like to identify any intermittent

: problems with a memory test program rather than through odd system
: hangups.

I usually install a small MSDOS partition on all my drives for
diagnostics and setup programs. For memory bashing, I use
Diagsoft's QA Plus (for MSDOS).

If you want to just read memory, run:
dd if=/dev/mem of=/dev/null
a few times. Don't worry about the "Bad Address" error
message when it hits the end of your memory. Also, don't
get the options backwards or your system will be trashed.

[x] Email to author [ ] To mailing list [x] Posted to newsgroup
--
# Jeff Liebermann Liebermann Design 150 Felker St #D Santa Cruz CA 95060
# 408.336.2558 voice wb6ssy@ki6eh.#cenca.ca.usa wb6ssy.ampr.org 44.4.18.10
# 408.699.0483 digital_pager 73557,2074 cis [don't]
# je...@comix.santa-cruz.ca.us http://www.cruzio.com/~jeffl

Bela Lubkin

unread,
Nov 21, 1996, 3:00:00 AM11/21/96
to je...@comix.santa-cruz.ca.us, t...@iwcp.com

Jeff Liebermann wrote:

> Tom Scheer (t...@iwcp.com) wrote:
> : and I'd like a utility to exercise my DRAM and make sure it's
> : ok. I have 256M installed and would like to identify any intermittent
> : problems with a memory test program rather than through odd system
> : hangups.

> If you want to just read memory, run:


> dd if=/dev/mem of=/dev/null
> a few times. Don't worry about the "Bad Address" error
> message when it hits the end of your memory. Also, don't
> get the options backwards or your system will be trashed.

This advice is dangerous enough that I will make a public contradiction
of it. Directly reading all of /dev/mem can cause a hang, panic, or
filesystem corruption. Don't do it.

Details: some peripheral boards have memory-mapped I/O ports in the
640KB-1MB range, or in the 15MB-16MB range. The above command will
blunder through, reading all of those ports. Some boards react badly to
being treated that way, up to and including corrupting your hard disk
(if the board is a SCSI host adapter).

Many systems will safely run the command (they don't have memory mapped
I/O boards, or those boards aren't allergic to being tickled). Some
systems will only crash (hang or panic). A few will do worse.

Alternative: it is possible to construct a set of `dd` commands which
will read all the general purpose RAM that Unix has detected in your
system. Boot the system with:

Boot
: defbootstr prompt
^^^^^^^^^^^^^^^^^
...

Hit return to jump to the loaded kernel: v
^^^

(you type the ^^^'d parts). You will get a memory map showing what
memory /boot has found. Also, under OSR5, a similar map can be gotten
by running `echo boot | crash`. On this OSR5 system I'm using, the
output looks like:

memavail memory map (8 segments used; 6 free):
NUM SYNOPSIS BASE -> LAST ADDR BYTES FLAGS
0. 0k-32k/r 0 -> 0x7fff 0x8000 reserved
1. 32k-636k 0x8000 -> 0x9efff 0x97000
2. 1m-15012k 0x100000 -> 0xea8fff 0xda9000
3. 15012k-15848k 0xea9000 -> 0xf79fff 0xd1000 bss
4. 15848k-16m 0xf7a000 -> 0xffffff 0x86000 data
5. 16m-31284k/s/n 0x1000000 -> 0x1e8cfff 0xe8d000 special nodma
6. 31284k-32764k/s/n 0x1e8d000 -> 0x1ffefff 0x172000 text special nodma
7. 32764k-32m/s/n 0x1fff000 -> 0x1ffffff 0x1000 special nodma eisa

This shows that Unix is using memory from 0-636KB, 1MB-32MB. So I could
do a very brief memory test by:

# dd if=/dev/mem bs=636k count=1 of=/dev/null # 0-636k
# dd if=/dev/mem bs=1024k count=31 iseek=1 of=/dev/null # 1-32m

Note the "iseek=" parameter. This tells dd to *SEEK* its input. The
similar-sounding "skip=" parameter tells it to *READ* input, throwing
away data. Using "skip=" on /dev/mem will cause the same problems that
reading it would have (since it *does* read it) (this is useful for
something like a tape drive which isn't seekable through the standard
system call interface).

>Bela<

0 new messages