swet - sustained workload efficiency test
swet [-options]
Estimate processing efficiency.
`swet' is a benchmark for single to multiprocessor/multicore/multithread environments.
`swet' performs cpu/ram stress tests and emits the computed efficiency.
basic parameters:
-C Hz consider given Hz as system clock -d N spawn N test sets as processes -R N repeat each test N times -s set file or string with tests (1) to run -t N spawn N test sets as threads
detail selection:
-D show test description -E show elapsed time -F show test frequency (ops./sec) -I show test id -N show test/thread number (count)
efficiency selection:
-a absolute(raw) efficiency -c combined(gross) efficiency -r relative(specific) efficiency
test selection:
-B basic test -Q quick tests -S slow tests -Z whole test
footer flags:
-A report averages -T report totals -O text one-liner comment
output flags:
--csv output in CSV format --frame output in ASCII-characters framed boxes --ansi output in ANSI-line-chars. framed boxes --html output in HTML --border visible html table border --dash vertical separators --minut description minutiae
operation flags:
-h show host info -H print headers -i set session id (processes) -j join threads until completion -l path master log file -L full(long) detail report -n use nanosecond precision (if available) -o secs timeout (per test) -V show version info and exit -v verbose output -w wait threads until completion (default) -Y run each test (2) as a thread --demo quick check (3)
notes:
(1) space- , tab- , or comma-separated test numbers and/or ranges like first:last
(2) valid only for 'thread-able/-safe' tests
(3) '-s' , '--demo' and '$SWETSET' are mutually exclusive
Without any options, `swet' performs a full test with basic output.
`swet' can be interrupted at any time with '^C' (Control+C).
swet*.log per process/thread log file(s) /tmp/swet*.log swet's log file(s)
/usr/local/bin swet's default executable path
Example 1: perform the 'basic' test set with detailed output.
$ swet -B
Example 2: same thing, with HTML formatting.
$ swet -B --html
Example 3: spawn two background processes, each one to perform the 'basic' test set.
$ swet -B -d 2
Example 4: create two threads, each one to perform the 'basic' test set.
$ swet -B -t 2
Example 5: two processes, each one running two threads, so four 'basic' test sets concurrently.
$ swet -B -d 2 -t 2
TERM The value of the TERM environment variable may affect the output of `swet'.
The following exit values are returned:
0 No errors of any kind.
>0 An error occurred.
ENOMEM Scant memory to perform some of the tests.
EACCES Permission denied (POSIX.1)
Search permission is denied for a component of the path prefix of a given <pathname>.
opm(1)
, vdt(1)
.
Ordinarily, `swet' does not require `root' privileges or SUID file permissions.
The INT, and TERM signals are caught by `swet', allowing for an orderly quit.
The 'quick' tests are considered to run 'quickly' on processor speeds above 1GHz.
On older hardware, even the 'quick' tests can take quite a few seconds to complete.
A screen with less than 80 columns results in garbled output if full/long detail is selected.
Not all possibly harmfull/misleading/nonsensical combinations of the options are prevented nor handled in the appropriate manner, and such use possibly may (and most certainly will) cause unpredictable results.
The original and current versions of `swet' consist of code and documentation written by:
Alexandre Botao http://botao.org botao@unix.net botao@linux.sh alexandre@botao.org
Copyright (C) 2011 Alexandre Botao
`swet' is `Free and Open Source Software' (FOSS), and is licensed under the GNU GENERAL PUBLIC LICENSE Version 3 (the "License");
You may not use `swet' except in compliance with the License. You may obtain a copy of the License at
http://www.gnu.org/licenses/
Additionally, a copy of the License is distributed along with `swet' in a file called 'LICENSE';
Commercial support is NOT available for `swet'. Suggestions and/or bug reports are very welcome.
`swet' is distributed on an ``AS IS'' basis, WITHOUT ANY WARRANTY OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.