2010-10-14 21:13:48 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2013-03-06 23:16:53 +00:00
|
|
|
highload ()
|
|
|
|
{
|
|
|
|
# Force load > #cpus
|
|
|
|
CPUS=$(parallel --number-of-cores)
|
2013-11-22 17:24:09 +00:00
|
|
|
seq 0 0.1 $CPUS | parallel -j0 timeout 50 burnP6 2>/dev/null &
|
|
|
|
PID=$!
|
|
|
|
sleep 20
|
2013-03-06 23:16:53 +00:00
|
|
|
perl -e 'do{$a=`uptime`} while($a=~/average: *(\S+)/ and $1 < '$CPUS')'
|
|
|
|
# Load is now > $CPUS
|
|
|
|
# Kill off burnP6 and the parent parallel
|
2013-11-22 17:24:09 +00:00
|
|
|
# kill $PID; sleep 0.1; kill $PID; killall burnP6; sleep 0.3; kill -9 $PID 2>/dev/null
|
2013-03-06 23:16:53 +00:00
|
|
|
}
|
|
|
|
|
2013-11-22 17:24:09 +00:00
|
|
|
highload 2>/dev/null &
|
|
|
|
sleep 1
|
2013-03-06 23:16:53 +00:00
|
|
|
|
2014-07-15 00:40:38 +00:00
|
|
|
cat <<'EOF' | parallel -vj0 -k -L1
|
2013-03-06 23:16:53 +00:00
|
|
|
echo "bug #38441: CPU usage goes to 100% if load is higher than --load at first job"
|
|
|
|
/usr/bin/time -f %e parallel --load 100% true ::: a 2>&1 |
|
|
|
|
perl -ne '$_ > 1 and print "More than 1 secs wall clock: OK\n"'
|
|
|
|
|
|
|
|
/usr/bin/time -f %U parallel --load 100% true ::: a 2>&1 |
|
|
|
|
perl -ne '$_ < 1 and print "Less than 1 secs user time: OK\n"'
|
|
|
|
|
2011-03-20 21:40:12 +00:00
|
|
|
echo '### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834'
|
2013-03-06 23:16:53 +00:00
|
|
|
seq 1 3 | parallel -j1 "sleep 2; echo {}" | parallel -kj2 echo
|
2011-03-20 21:40:12 +00:00
|
|
|
|
2013-12-19 01:19:19 +00:00
|
|
|
echo '### Test too slow spawning'
|
2013-03-06 23:16:53 +00:00
|
|
|
# Let the commands below run during high load
|
|
|
|
seq `parallel --number-of-cores` | parallel -j200% -N0 timeout -k 25 26 burnP6 &
|
|
|
|
sleep 1;
|
|
|
|
seq 1 1000 | stdout nice nice parallel -s 100 -uj0 true |
|
|
|
|
perl -pe '/parallel: Warning: Starting \d+ processes took/ and do {close STDIN; `killall -9 burnP6`; print "OK\n"; exit }'
|
|
|
|
EOF
|
|
|
|
|
|
|
|
# Make sure we got all the burnP6 killed
|
2011-03-20 21:40:12 +00:00
|
|
|
killall -9 burnP6 2>/dev/null
|