Mercurial > repos > rliterman > csp2
annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/opt/bbmap-39.01-1/diskbench.sh @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
rev | line source |
---|---|
jpayne@69 | 1 #!/bin/bash |
jpayne@69 | 2 |
jpayne@69 | 3 usage(){ |
jpayne@69 | 4 echo " |
jpayne@69 | 5 Written by Brian Bushnell |
jpayne@69 | 6 Last modified March 5, 2018 |
jpayne@69 | 7 |
jpayne@69 | 8 Description: Benchmarks a disk with multithreaded I/O. |
jpayne@69 | 9 |
jpayne@69 | 10 Usage: diskbench.sh path=<path> data=<8g> passes=<2> threads=<> |
jpayne@69 | 11 |
jpayne@69 | 12 Parameters: |
jpayne@69 | 13 path= Location to read and write. |
jpayne@69 | 14 data=8g Number of bytes to process per pass. |
jpayne@69 | 15 threads= Number of threads to use. By default, all logical threads. |
jpayne@69 | 16 In RW mode the number of active threads is doubled. |
jpayne@69 | 17 mode=rw I/O mode: |
jpayne@69 | 18 r: Test read speed only. |
jpayne@69 | 19 w: Test write speed only. |
jpayne@69 | 20 rw: Test read and write speed simultaneously. |
jpayne@69 | 21 |
jpayne@69 | 22 Processing parameters: |
jpayne@69 | 23 None yet! |
jpayne@69 | 24 |
jpayne@69 | 25 Java Parameters: |
jpayne@69 | 26 -Xmx This will set Java's memory usage, overriding autodetection. |
jpayne@69 | 27 -Xmx20g will specify 20 gigs of RAM, and -Xmx200m will |
jpayne@69 | 28 specify 200 megs. The max is typically 85% of physical memory. |
jpayne@69 | 29 -eoom This flag will cause the process to exit if an out-of-memory |
jpayne@69 | 30 exception occurs. Requires Java 8u92+. |
jpayne@69 | 31 -da Disable assertions. |
jpayne@69 | 32 |
jpayne@69 | 33 Please contact Brian Bushnell at bbushnell@lbl.gov if you encounter any problems. |
jpayne@69 | 34 " |
jpayne@69 | 35 } |
jpayne@69 | 36 |
jpayne@69 | 37 #This block allows symlinked shellscripts to correctly set classpath. |
jpayne@69 | 38 pushd . > /dev/null |
jpayne@69 | 39 DIR="${BASH_SOURCE[0]}" |
jpayne@69 | 40 while [ -h "$DIR" ]; do |
jpayne@69 | 41 cd "$(dirname "$DIR")" |
jpayne@69 | 42 DIR="$(readlink "$(basename "$DIR")")" |
jpayne@69 | 43 done |
jpayne@69 | 44 cd "$(dirname "$DIR")" |
jpayne@69 | 45 DIR="$(pwd)/" |
jpayne@69 | 46 popd > /dev/null |
jpayne@69 | 47 |
jpayne@69 | 48 #DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/" |
jpayne@69 | 49 CP="$DIR""current/" |
jpayne@69 | 50 |
jpayne@69 | 51 z="-Xmx400m" |
jpayne@69 | 52 z2="-Xms400m" |
jpayne@69 | 53 set=0 |
jpayne@69 | 54 |
jpayne@69 | 55 if [ -z "$1" ] || [[ $1 == -h ]] || [[ $1 == --help ]]; then |
jpayne@69 | 56 usage |
jpayne@69 | 57 exit |
jpayne@69 | 58 fi |
jpayne@69 | 59 |
jpayne@69 | 60 calcXmx () { |
jpayne@69 | 61 source "$DIR""/calcmem.sh" |
jpayne@69 | 62 setEnvironment |
jpayne@69 | 63 parseXmx "$@" |
jpayne@69 | 64 } |
jpayne@69 | 65 calcXmx "$@" |
jpayne@69 | 66 |
jpayne@69 | 67 diskbench() { |
jpayne@69 | 68 local CMD="java $EA $EOOM $z $z2 -cp $CP fun.DiskBench $@" |
jpayne@69 | 69 echo $CMD >&2 |
jpayne@69 | 70 eval $CMD |
jpayne@69 | 71 } |
jpayne@69 | 72 |
jpayne@69 | 73 diskbench "$@" |