SunVTS 6.2 Test Reference Manual for SPARC Platforms
|
|
Virtual Memory Test (vmemtest)
|
vmemtest Description
The vmemtest checks virtual memory--the combination of physical memory and the swap partitions of the disk(s).
Note - This test might 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 simulate a stressful environment for the operating system. This test also detects ECC parity errors, memory read errors, and addressing problems, and displays the corresponding virtual memory addresses on failure.
Note - Do not run the vmemtest with fwcamtest at the same time on any
Sun Blade system. This will cause vmemtest to fail.
|
vmemtest Swap Space Requirements
Running this test places a significant burden on the operating system, since it uses the majority of swap space available for testing. Use the vmemtest swap space reserve option when nonSunVTS test processes are started after SunVTS testing has started. Refer to the SunVTS User's Guide for a complete discussion of swap space requirements.
vmemtest Options
To reach the following dialog box, right-click on the test name in the System Map and select Test Parameter Options. If you do not see this test in the System Map, you might need to expand the collapsed groups, or your system might not include the device appropriate to this test. Refer to the SunVTS User's Guide for more details.
FIGURE 59-1 vmemtest Test Parameter Options Dialog Box
TABLE 59-1 vmemtest Options
vmemtest Options
|
Description
|
Mode
|
Two modes are available:
- Regular mode tests the specified amount of memory as one block and passes as the size argument to the different test algorithm functions (subtests).
- 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.
vmemtest runs in Regular mode as default setting.
|
Reserve
|
Specifies the amount of memory to reserve from being tested by vmemtest. The test ensures that this amount of memory is left free on the system while evaluating the size of memory for testing. If specified value of reserve is zero, this test will use a default value evaluated based on the available free swap space for the instance. Trying to reserve more memory than available free memory by this instance will cause the test to fail.
|
Test Amount
|
An amount can be specified to test the virtual memory, instead of the default.The default value is 0, which means the default memory size is evaluated within the test.
Record the memory configuration details on the target system before selecting nondefault setting for the amount option.
If negative values are specified, the test assumes the default setting. The actual size of memory tested by the instance is always evaluated with reference to the available free swap space on the system.
|
vmemtest Configuration
|
The 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. This number ndicates the amount of virtual memory found, rounded up to the nearest Kbyte.
|
Contiguous Errors
|
Specifies the max number of contiguous memory errors, which will be considered and counted as one noncontiguous error. The default value is 10.
|
ECC Error monitoring
|
Enables or disables ECC error monitoring.
|
ECC Error threshold
|
Determines how many correctable ECC errors occurred in the elapsed time before vmemtest reports a test failure. The default threshold value is 2.
|
Test Method
|
vmemtest runs the Sequential and File Caching subtests by default.
- Sequential subtest - Tests the whole memory from the beginning address to the end address in a sequence.
- Address Random subtest - Randomly selects memory addresses with in the specified range to test.
- Page Striding subtest - Noncontiguous memory test, implemented sequentially and non-sequentially.
- Sequential striding - Tests from the first page to the last page, withn a specified test range. Only one word is tested per page.
- Nonsequential striding - Tests randomly from first to last page, within a specified memory range. Alternates testing one word per page until all pages are tested.
- Block Copy test - Writes and reads data between two memory blocks. Each memory block is half the memory to be tested.
- File Caching test - Aimed at improving performance through the use of file caching in the Solaris kernel. This test is useful for large memory configurations. This test takes 30 to 70% less time than the Sequential test method.
|
Predefined Pattern
|
Select one of the following patterns to use for the test:
- Address-uses the virtual addresses of the tested memory locations.
- walk_1-uses a pattern that starts with 0x80000000 through 0x11111111.
- walk_0-uses a pattern that starts with 0x7fffffff through 0x00000000.
- 0x00000000-uses all ones and zeros for testing.
- 0x5aa55aa5-uses 0x5aa55aa5 pattern.
- 0xdb6db6db-uses 0xdb6db6db pattern.
- Checkerboard-uses 0xaaaaaaaa patterns.
- UserDefined-uses the pattern that is specified in the User Defined Pattern area (see below).
|
User Defined Pattern
|
Only used if the Predefined Pattern is set to UserDefined. The pattern specified should be in the form of an 8-digit, hexadecimal number such as 0x2a341234. Default setting is up=0x7ff77ff7
|
Instance
|
Specifies how many copies of the vmemtest test to run.
|
vmemtest Test Modes
TABLE 59-2 vmemtest Supported Test Modes
Test Mode
|
Description
|
Functional
|
Writes a pattern to an amount of the specified virtual memory. The data is then read back and compared. If there is a miscompare, the virtual address is reported and the data is read again and compared.
|
In Functional test mode, vmemtest 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. On miscompare, the VA, corresponding PA, and the expected and observed data patterns are reported.
vmemtest Command-Line Syntax
/opt/SUNWvts/bin/vmemtest standard_arguments -o mode=type, reserve= n, amount=n, cerr=n, eccmon=enable|disable, eccthreshold=n, type1=enable|disable, pp1=pattern, type2=enable|disable, pp2=pattern, type3=n, pp3=pattern, type4=enable|disable, pp4=pattern, type5=enable|disable, pp5=pattern, type6=enable|disable, up=hex_pattern
TABLE 59-3 vmemtest Command-Line Syntax
Argument
|
Explanation
|
mode=Page|Regular
|
Specifies which mode of the vmemtest to run.
- Page - tells the write/read memory test to proceed one system memory page at a time.
- Regular - uses the valloc option to allocate the entire assigned memory, which is read and compared one long word at a time.
|
reserve=n
|
Specifies the amount of MB of virtual memory to reserve.
|
amount=n
|
Specifies the number of MB of memory to be tested instead of the default.
|
cerr=n
|
Specifies the maximum number of contiguous errors to be counted as one non contiguous error.
|
eccmon=enabled|disabled
|
Enables or disables the ECC error monitor.
|
eccthreshold=n
|
Specifies how many correctable ECC errors can occur in the elapsed time before vmemtest reports a test failure.
|
type1=value
pp1=pattern
|
type1 is the sequential test. The value is Enabled or Disabled. The default is Enabled. The default for the pp1 pattern is address. Select the pp1 pattern from:
address,walk_0,walk_1,Checkerboard,
0x00000000,0xffffffff,0x5aa55aa5,
0xdb6db6db,random,UserDefined
|
type2=value
pp1=pattern
|
type2 is the File cache test. The value is Enabled or Disabled. The default is Enabled. The default for the pp1 pattern is address. Select the pp1 pattern from:
address,walk_0,walk_1,Checkerboard,
0x00000000,0xffffffff,0x5aa55aa5,0xdb6db6db,
random,UserDefined
|
type3=value
pp3=pattern
|
type3 is the Random address test. The value is Enabled or Disabled. The default is Disabled. The default of the pp3 pattern is checkerboard. Select the pp3 pattern from:
Checkerboard,0x00000000,0xffffffff,
0x5aa55aa5,0xdb6db6db,UserDefined
|
type4=value
pp4=pattern
|
type4 is the page_striding test. The value is Enabled or Disabled. The default is Disabled. The default of the pp4 pattern is checkerboard. Select the pp4 pattern from:
Checkerboard,0x00000000,0xffffffff,
0x5aa55aa5,0xdb6db6db,UserDefined
|
type5=value
pp5=pattern
|
type5 is the march_c test. The value is Enabled or Disabled. The default is Disabled. The default for the pp5 pattern is checkerboard. Select the pp5 pattern from:
Checkerboard,0x00000000,0xffffffff,
0x5aa55aa5,0xdb6db6db,UserDefined
|
type6=value
|
type6 is the Block_Copy test. The value is Enabled or Disabled. The default is Disabled.
Note - The Block_Copy subtest uses its own set of the data patterns predefined in the test. It does not require any user specified data patterns for testing.
|
up=hex_address
|
Only used if the pp argument is set to UserDefined. The pattern specified should be in the form of a 8-digit, hexadecimal number such as 0x2a341234.
|
SunVTS 6.2 Test Reference Manual for SPARC Platforms
|
819-6455-10
|
|
Copyright © 2006, Sun Microsystems, Inc. All Rights Reserved.