diglloyd Tools™ (dlt) User ManualLast updated: 01 July 2008 IMPORTANT: Use the Mac OS X “Safari” browser to read this document, or links to files will not work correctly. Table of Contents Setup Command Syntax Primer The diglloydTools program is a Universal Binary, which means it will run on either PowerPC-based Macs or Intel-based Macs. As of July 2008, it also a 64-bit application, and will run on either 32-bit or 64-bit systems (Mac OS X 10.4 or 10.5). Be sure to read All About Mac Pro Memory, even if your computer is not a Mac Pro. If you’re reading this file from the installation volume, you’ve already done this step. See Easy Install below. Double-click the “” file to cause it to be mounted as a volume icon on your desktop. An icon should appear on your desktop that looks like this:
Uninstalling The automated install performs the following actions:
1. Drag the /Applications/Utilities/diglloyd/diglloydTools folder into the trash (if diglloydTools is the only diglloyd program you have installed, you can drag the /Applications/Utilities/diglloyd folder into the trash instead). 2. [Optional, not required]. Remove the following line from your “.bash_profile” file: export PATH=/Applications/Utilities/diglloyd/diglloydTools:... Diglloyd Tools™ (“dlt”) offers several commands for testing computer performance. More commands are planned for future versions, hence the name diglloydTools. You can:
You can use the predefined scripts to run most of the commands found in: You can also double-click the desired script below to select it in the Finder, then double-click it:
Distribution or copying without the express written permission of diglloyd, Inc is prohibited. No warranty, either express or implied is given and you use this program entirely at your own risk. Please read the License Agreement. For inquiries regarding licensing dlt, please see diglloyd.com/diglloyd/software. To contact us, please see the contact page. Please include “software inquiry” in the subject of your email. Due to a large volume of spam, messages may be inadvertently ignored without an appropriate subject. Conventions used in this document When referring to the program as a product, it is written “diglloyd Tools ”. When referring to it as the command typed when invoking it, it is written “dlt”. Entering “diglloyd Tools ” as the command name in Terminal will not work. All commands and output as typed or viewed in Terminal while using diglloydTools are shown in a fixed-width font. Commands that you are to enter are additionally shown like this. In the command shown below, “llcG5:~ lloyd$” is the command prompt (waiting for you, the user, to enter a command), and the text to be entered by the user is “ cd /Applications”. llcG5:~ lloyd$ cd /Applications This section describes using diglloyd Tools. The most common user error is typing a command incorrectly. For example, you might type “run-speedtest” instead of the correct “run-speed-test”. You will get an error something like this: llcMP:~ lloyd$ dlt run-speedtest diglloydTools 1.1.0 64-bit Copyright 2006-2008 diglloyd, Inc. All Rights Reserved. Tuesday, July 1, 2008 9:13:23 AM PT Physical memory (MB): 16384 ERROR: unknown cmd [-40003], msg ="Unknown command: "run-speedtest" Running other programs while testing Commands that time performance (eg test-compute-speed) should be run without other programs running. File sharing and similar services should be stopped. Otherwise, the system is sharing its resources with those programs even as the tests run. On Mac OS X, many programs continue to run, and you might need to perform several runs to get a sense for the variability of the results. Rebooting prior to a long-running test is a good idea also; it clears out any “stale” programs that might impact test results, or be taking up memory. On Macs with ECC (error correcting code) memory (the Mac Pro), you can check for memory errors using . If the status is not displayed as “OK”, this means that the memory module(s) are not reliable under the current load. With really bad memory, this might be the case anytime. Failures are generally caused by heat; testing at 100°F will induce failures in some modules, though Apple modules are generally extremely reliable—you get what you pay for. See All About Mac Pro Memory. Activity Viewer (Applications => Utilities => Activity Monitor) can be a helpful tool to observe system activity, though running it can affect speed test results. The most useful items are the “%CPU” column (click on it to sort by max/min CPU usage), the “Disk Activity” tab, and the “CPU Monitor” window. When you start Activity Monitor, use the “Window” menu to show the windows seen below: Using diglloyd Tools in Terminal diglloydTools is supplied as a command-line utility named “dlt” (not “diglloydTools”), which must be run in a Terminal window (Applications => Utilities => Terminal). See the command line primer for help on understanding command lines. To run the run-stress-test command, enter it at the prompt (you can specify additional options if desired). llcMP:~ lloyd$ dlt run-stress-test dlt will start running. The first phase is setup; the amount of non-pageable memory is determined. This can take up to several minutes, but is a crucial step, because it ensures that memory can be tested at full speed, as opposed to being “swapped” to and from the hard disk (virtual memory). In the example below, diglloydTools was able to allocate 14GB of real memory for testing. diglloydTools 1.1.0 64-bit Copyright 2006-2008 diglloyd, Inc. All Rights Reserved. Tuesday, July 1, 2008 8:55:12 AM PT Physical memory (MB): 16384 ********************************** Stress Test ********************************* System memory: 16GB Test duration: 1h CPU percent: 100% (per cpu core) Num CPU threads: 4 Memory per thread (requested): 3.80GB ==> Determining amount of non-pageable memory (this phase can take several minutes before stress-testing begins) Checking for virtual memory paging for 15.2GB No paging detected for 3.80GB (good) No paging detected for 7.60GB (good) No paging detected for 11.4GB (good) *** PAGING DETECTED after 15.2GB *** Allocated 3.80GB per thread (15.2GB) for 4 threads, but paging detected. Paging detected, reducing memory usage and retrying with 98% of previous value. ... Checking for virtual memory paging for 14.0GB No paging detected for 3.50GB (good) No paging detected for 7.01GB (good) No paging detected for 10.51GB (good) No paging detected for 14.0GB (good) Allocated 3.50GB per thread (14.0GB) for 4 threads, reverifying paging behavior... Done determining pageable memory. NOTE: Avoid starting applications while tests are running; system response will be very sluggish. After diglloydTools has allocated memory for testing, the testing phase begins, with one “thread” for each CPU core. By default, the test runs for one hour; you can use the --duration option to specify a longer or shorter duration. Keep in mind that the computer will not be usable during the testing (very sluggish). To stop the test, use control-C (see below). While testing, diglloydTools emits progress: the elapsed time (left column), the amount of memory tested, and the memory “bandwidth” or speed at which memory can be copied. Double that figure for real-world memory bandwidth (as opposed to “marketing” bandwidth). Memory usage per thread: 3.50GB Volumes to test: none Creating 4 CPU thread(s) at 100% utilization, each consuming 3588.9MB for a total memory use of 14.0GB 1 2 3 4 Starting... 1 2 3 4 started. Waiting for all threads to start... All threads were started. Thread 0 started OK. Thread 1 started OK. Thread 2 started OK. Thread 3 started OK. 4 cpu threads started successfully using a total of 14.0GB of memory, to be accessed continually. =====> Use ctrl-C to stop <===== Note: speeds denote memory copying speed (memmove); multiply by 2 for total bandwidth. 10s: 14355.7MB @ 2869 MB/sec (best) 20s: 14355.7MB @ 2829 MB/sec 30s: 14355.7MB @ 2810 MB/sec 40s: 28711.5MB @ 2809 MB/sec 50s: 14355.7MB @ 2811 MB/sec 60s: 14355.7MB @ 2694 MB/sec Maximum bandwidth so far: 2869 MB/sec 70s: 14355.7MB @ 2763 MB/sec ^C Caught signal 2 (SIGINT) Program should respond within a few seconds. Memory bandwidth: 2869 MB/sec Waiting for tasks to exit...4...4...4...4...4...4...4...4...4...4...4...4...4...4...3...3...3...2...2...2...done. Test duration: 76.1 seconds... Command "run-stress-test" executed in 381.32 seconds. To stop an in-progress test, use control-c (you must be in the Terminal window with the running dlt process). Hold down the key and press 'c'. The control key is the key labeled “” on the standard Apple US keyboard; it’s right next to the “” key. A control-c sends a “signal” to dlt that it needs to quit. You should see a message similar to this one: ^C Caught signal 2 (SIGINT) Program should respond within a few seconds. Waiting for tasks to exit...32...25...24...18...done. Test duration: 4.0 seconds... Command "run-stress-test" executed in 15.88 seconds. In most cases, dlt will quit within a second or two, though it might take longer in some cases. You can also force dlt to quit using Activity Monitor by clicking the Quit Process button after first selecting : ![]() Invoking dlt with no commands will show help. You can also use dlt help all. llcG5:~ lloyd$ dlt llcMP:~ lloyd$ dlt diglloydTools 1.1.0 64-bit Copyright 2006-2008 diglloyd, Inc. All Rights Reserved. Tuesday, July 1, 2008 9:11:01 AM PT Physical memory (MB): 16384 Available commands: run-stress-test Consume CPU time, memory bandwidth, and I/O bandwidth. test-compute-speed Test CPU speed. help display usage and examples for the available commands To see examples for a specific command, use "dlt help To get help on a particular command, use the 'help' command: llcG5:/ lloyd$ dlt help run-stress-test The output will look like this. If that is hard to understand, please see the Command Syntax Primer. llcMP:~ lloyd$ dlt help run-stress-test
diglloydTools 1.1.0 64-bit Copyright 2006-2008 diglloyd, Inc. All Rights Reserved.
Tuesday, July 1, 2008 9:21:05 AM PT
Physical memory (MB): 16384
SUMMARY
run-stress-test: Consume CPU time, memory bandwidth, and I/O bandwidth.
SYNTAX
run-stress-test
[--output-level|-l <terse|normal|verbose>] "normal"
[--percent-cpu|-p <percent>] "100%"
[--num-threads|-n <num>] "4"
[--memory-per-thread|-m <size[b|K|M|G]>] "3891MB"
[--volumes|-v <all|
Command summary (with examples) This section describes the commands and what they do.
Each option has a long name, which must be prefixed by "--", and a short name, which must be a single dash "-" followed by a letter. An option in square brackets[] is optional. The pipe "|" character indicates that you should choose one of the values. Angle brackets<> indicate that a value must be supplied.
run-stress-test llcMP:~ lloyd$ dlt run-stress-test
diglloydTools 1.1.0 64-bit Copyright 2006-2008 diglloyd, Inc. All Rights Reserved.
Tuesday, July 1, 2008 8:55:12 AM PT
Physical memory (MB): 16384
********************************** Stress Test *********************************
System memory: 16GB
Test duration: 1h
CPU percent: 100% (per cpu core)
Num CPU threads: 4
Memory per thread (requested): 3.80GB
==> Determining amount of non-pageable memory
(this phase can take several minutes before stress-testing begins)
Checking for virtual memory paging for 15.2GB
No paging detected for 3.80GB (good)
No paging detected for 7.60GB (good)
No paging detected for 11.4GB (good)
*** PAGING DETECTED after 15.2GB ***
Allocated 3.80GB per thread (15.2GB) for 4 threads, but paging detected.
Paging detected, reducing memory usage and retrying with 98% of previous value.
...
Checking for virtual memory paging for 14.0GB
No paging detected for 3.50GB (good)
No paging detected for 7.01GB (good)
No paging detected for 10.51GB (good)
No paging detected for 14.0GB (good)
Allocated 3.50GB per thread (14.0GB) for 4 threads, reverifying paging behavior...
Done determining pageable memory.
NOTE: Avoid starting applications while tests are running; system response will be very sluggish.
Memory usage per thread: 3.50GB
Volumes to test: none
Creating 4 CPU thread(s) at 100% utilization, each consuming 3588.9MB for a total memory use of 14.0GB
1 2 3 4
Starting...
1 2 3 4 started.
Waiting for all threads to start...
All threads were started.
Thread 0 started OK.
Thread 1 started OK.
Thread 2 started OK.
Thread 3 started OK.
4 cpu threads started successfully using a total of 14.0GB of memory, to be accessed continually.
=====> Use ctrl-C to stop <=====
Note: speeds denote memory copying speed (memmove); multiply by 2 for total bandwidth.
10s: 14355.7MB @ 2869 MB/sec (best)
20s: 14355.7MB @ 2829 MB/sec
30s: 14355.7MB @ 2810 MB/sec
40s: 28711.5MB @ 2809 MB/sec
50s: 14355.7MB @ 2811 MB/sec
60s: 14355.7MB @ 2694 MB/sec
Maximum bandwidth so far: 2869 MB/sec
70s: 14355.7MB @ 2763 MB/sec
^C
Caught signal 2 (SIGINT)
Program should respond within a few seconds.
Memory bandwidth: 2869 MB/sec
Waiting for tasks to exit...4...4...4...4...4...4...4...4...4...4...4...4...4...4...3...3...3...2...2...2...done.
Test duration: 76.1 seconds...
Command "run-stress-test" executed in 381.32 seconds.
llcMP:~ lloyd$ dlt test-compute-speed
diglloydTools 1.1.0 64-bit Copyright 2006-2008 diglloyd, Inc. All Rights Reserved.
Tuesday, July 1, 2008 9:35:04 AM PT
Physical memory (MB): 16384
Test size = 128MB...
Chunk Size K MB/sec
1 198.8
2 207.8
4 212.6
8 214.8
16 215.6
32 215.8
64 215.5
128 215.9
256 215.9
512 215.9
1024 215.4
Best chunk size: 128K
This computer has 4 processing units.
Testing using 4 threads simultaneously...
thread 0: 211.9...214.8
thread 1: 207.0...215.6
thread 2: 210.7...216.1
thread 3: 203.2...215.9
Aggregate rate: 862MB/sec
Command "test-compute-speed" executed in 15.42 seconds.
llcMP:~ lloyd$ dlt diglloydTools 1.1.0 64-bit Copyright 2006-2008 diglloyd, Inc. All Rights Reserved. Tuesday, July 1, 2008 9:36:42 AM PT Physical memory (MB): 16384 Available commands: run-stress-test Consume CPU time, memory bandwidth, and I/O bandwidth. test-compute-speed Test CPU speed. help display usage and examples for the available commands To see examples for a specific command, use "dlt help |
||||||||||||||||||||||||||||||||