SunVTS 2.1.3 Test Reference Manual
  Искать только в названиях книг
Загрузить это руководство в формате PDF
CHAPTER 44

Virtual Memory Test (vmem)


The vmem test checks virtual memory; that is, it tests the combination of physical memory and the swap partitions of the disk(s).

Note - This test may not stop immediately after being disabled.

This test uses the Solaris valloc (page aligned) system call to allocate, write, read, and compare virtual memory. These operations normally cause heavy paging activity on the system and simulates a stressful environment for the operating system. This test also detects ECC parity errors, memory read errors, addressing problems, and displays the corresponding virtual memory addresses on failure.

Handling Swap Space

Running this test places a significant burden on the operating system, since it uses the majority of swap space available for testing. You should use the swap space reserve option to vmem when non-SunVTS test processes are started after SunVTS testing has started. See "Swap Space Requirements" in the SunVTS User's Guide for a complete discussion of swap space requirements.

vmem Options

Графика

FIGURE 44-1 vmem

TABLE 44-1 vmem
vmem OptionsDescription
vmem ConfigurationThe amount of memory listed in the configuration field is equivalent to the sum of the used and available swap space amounts returned by the swap -s command. It indicates the amount of virtual memory found, rounded up to the nearest Kbyte.
Test AmountAn amount can be specified to test the virtual memory, instead of the default. Specifying a number greater than the available memory, can cause vmem or other running tests to fail.
ModeTwo modes are available: · Regular mode tests the amount of memory and is limited by the amount of physical memory available to the system under test.

· Page mode tests assign virtual memory one page at a time. Each page is mapped to the temporary file /tmp/vmem.page and is then paged out to storage once test data is written. Next, the temporary page is paged back into memory for a read and compare.

When the stress test execution option is selected, the vmem test allocates the entire assigned system memory (through valloc), writing from beginning to end. The memory is then read back and compared with the original pattern, one long word at a time.

ReserveThe Reserve option specifies the amount of memory to reserve from being tested by vmem. The reserved space is used for other processes running concurrently with the or SunVTS tests. The Reserve option can be used to reserve memory in addition to the default. This option applies only to a specific instance. Trying to reserve more memory than what is assigned to be tested by this instance will cause the test to fail.

vmem Test Modes

This test is only available in the Functional test mode. In this mode the, vmem test writes a pattern to an amount of virtual memory specified by the user. Then the data is read back and compared. If there is a miscompare, the data is read again and compared. Whenever there is a miscompare, the virtual address is reported. When there is a miscompare on recomparison, an attempt is made to convert the virtual address to the physical address if the SunVTS diagnostic driver is installed.

vmem Command Line Syntax

/opt/SUNWvts/bin/vmem standard_arguments -o mode=type, reserve=number,
amount=number, bdinfo=number, cerr=number

TABLE 44-2 vmem
ArgumentExplanation
mode=typeSpecifies which mode of the vmem test you want to run; you can choose between page mode, which tells the write/read memory test to proceed one system memory page at a time, and regular, which valloc's the entire assigned memory which is read and compared, one long word at a time.
reserve=numberSpecifies the amount of Mbytes of virtual memory to reserve in addition to the default amount.
amount=numberSpecifies the number of Mbytes of memory to be tested instead of the default amount.
bdinfo=numberProvides the board number information for all the CPU/
memory boards in the system. For example, if board 0 and
board 5 have memory, then the bdinfo=33 (2**5+2**0).
cerr=numberSpecifies the maximum number of contiguous errors to be dumped when a memory error occurs.

vmem Error Messages

TABLE 44-3 vmem

Error MessageProbable Cause(s)Recommended Action
6001setrlimit(RLIMIT_DATA) failed to set to RLIM_INFINITY: error_messageFailed to increase the size of test process's heap to 2GB (fatal error).
6002Test terminated after finding maximum number (number) of

noncontiguous errors

Fatal error.
6003msync() failed:
error_message
Failed to synchronize
memory with physical
storage (fatal error).

6004Test terminated after finding miscompared dataTest failed (fatal error).
8001Test completed. Found data noncontiguous miscompareSuspect swap partition(s) (fatal error).Consult your authorized Sun service provider.

errorsSuspect SCSI controller.


Faulty system software.
8002Increase swap space to allocate at least number MB from the process' heapFailed to increase mem process' heap storage.
8003Attempt to reserve more than what's been assignedFatal error.Reduce the "reserve" amount.
8004valloc(address) failed: error_messageFatal error.Increase swap space or reduce the reserve amount.
8005Open(file_name) failed: error_messageFailed to open the file file_name used in the "page" mode (fatal error).
8006mmap() virtual address address to file_name failed: error_messageFailed to map a region at the virtual address of the file file_name used in the "page" mode (fatal error).
TABLE 44-3 vmem(Continued)

Error MessageProbable Cause(s)Recommended Action
8007munmap(address) failed: error_messageFailed to unmap a region at the virtual address of the file file_name used in the "page" mode (fatal error).
8008close() failed on file_name: error_messageFatal error.
8009Not enough space to store miscompare informationFailed to allocate space to store miscompare data (fatal error).Increase swap space or reduce the load on the system.
8010swapctl() failed: error_messageFailed to obtain the amount of swap space configured in the system (fatal error)