TEST NAME

memory - memory test

SYNOPSIS

sh memory.stf

vmemtest [ standard_arguments ] -o option=value

DESCRIPTION

The memory.stf shell script executes the vmemtest test. The script loops for the length of time (in seconds) specified by the RUNTIME environment variable, repeatedly executing vmemtest.

When run as a part of the Level 2 System Certification tests, vmemtest tests virtual memory. That is, it tests the combination of physical memory and the swap. It uses the valloc(2) system call to allocate, write, read, and compare virtual memory. These operations normally cause heavy paging activity on the system and simulate an operating system environment. This test also detects ECC parity errors, memory read errors, and addressing problems. This test displays the corresponding virtual memory addresses on failure.

When run as a part of the Level 1 System Certification tests, vmemtest runs the same operations as for the Level 2 tests, but only on physical memory.

OPTIONS

You can use the -o option to set the following values:

mode=page or mode=regular
Specifies which mode of the vmemtest to run. The page value tells the write/read memory test to proceed one system memory page at a time. The regular value uses valloc to allocate the entire assigned memory, which is read and compared one long word at a time.
reserve=number
Specifies the number of Mbytes of virtual memory to reserve in addition to the default amount. The default amount is 0 Mbytes for Level 1 testing and 64 Mbytes for Level 2 testing.
amount=number
Specifies the number of Mbytes of memory to be tested instead of the default amount. The default amount to be tested for Level 1 is half the maximum number of Mbytes of memory. The default amount of memory to be tested for Level 2 is the maximum number of Mbytes of memory.
cerr=number
Specifies the maximum number of contiguous errors to be dumped when a memory error occurs. The default is ten contiguous errors.

SETUP

Before you execute memory.stf, set the RUNTIME variable to specify the length of time (in seconds) that the script should run.

In the following example, the RUNTIME variable is set to 1200 (20 minutes).

# RUNTIME=1200 export RUNTIME

The memory.stf script also uses the temporary file /tmp/level.dat to determine the level at which it should test, and hence the amount of memory that will be tested. The contents of the /tmp/level.dat file is either L1 to run at Level 1, or L2 to run at Level 2. If /tmp/level.dat is not present, or if it contains anything other than L1 or L2, the test runs at Level 2 (both physical memory and swap are tested). The following examples show how to create the contents of /tmp/level.dat:

# echo "L1" > /tmp/level.dat

or:

# echo "L2" > /tmp/level.dat

OUTPUT

The memory.stf script outputs PASS or ERROR messages as appropriate, as well as the output generated by vmemtest.

The vmemtest test outputs the test status to standard output.

DURATION

The memory.stf script loops vmemtest for the amount of time specified by RUNTIME. The script waits for any instances of vmemtest to finish before it exits.

The vmemtest test runs for up to 20 minutes.

POSSIBLE CONCURRENT TESTS

This test can run concurrently with mcpu after the flp test finishes.

EXAMPLES

# sh ./memory.stf
# sh ./vmemtest -f -v -o amount=128

REFERENCES

valloc(2)


Copyright 2005 Sun Microsystems, Inc. All rights reserved.