source: npl/overig/stress/syn3-stress @ c834706

gcc484perl-5.22
Last change on this file since c834706 was c5c522c, checked in by Edwin Eefting <edwin@datux.nl>, 8 years ago

initial commit, transferred from cleaned syn3 svn tree

  • Property mode set to 100755
File size: 1.4 KB
Line 
1#!/bin/bash
2echo "[ Syn-3 automated burn-in test. ]"
3echo
4############# INIT
5
6CPUS=`cat /proc/cpuinfo |egrep ^processor|wc -l`
7MEM=`cat /proc/meminfo |egrep ^MemTotal|sed s/[^0-9]//g`000
8IP=$1
9PARTS=`mdadm --detail /dev/md0|grep /dev|grep -v :|sed 's/.* //'`
10for PART in $PARTS; do
11        DISKS="$DISKS `getdisk $PART`"
12done
13
14echo "Detected CPU's: $CPUS."
15echo "Detected memory: $MEM bytes"
16echo "Detected Syn-3 disks: $DISKS"
17
18#if ! [ "$IP" ]; then
19#       echo "Usage: $0 <IP>"
20#       echo " Runs stresstest on hardware and pingfloods IP to test network card."
21#       exit 1
22#fi
23
24echo "Pingflood IP: $IP"
25
26abort()
27{
28        killall ping 2>/dev/null
29        echo "########################################"
30        if [ "$1" != "0" ]; then
31                echo "ERROR - STRESSTEST FAILED!"
32                echo "Press enter to continue.."
33                read
34        else
35                echo "STRESSTEST SUCCEEDED"
36        fi
37
38        exit $1
39}
40
41#ctrl-c is clean exit
42trap "echo Aborting...;abort 0" 2
43
44############# READ-TEST ALL DISKS
45disktest()
46{
47        DISK=$1
48        SIZE=`sfdisk -s $DISK`
49        echo
50        echo "Read-testing disk $1, size $SIZE Kb..."
51        dd if=$DISK of=/dev/null || abort 1
52        echo "Disk $1 is OK!"
53}
54
55for DISK in $DISKS; do
56        disktest $DISK
57done
58
59
60############# STRESS TEST
61echo
62echo "Stress-testing hardware..."
63echo "This test takes at least 12 hours!"
64
65if [ "$IP" ]; then
66        ping -q -f $IP &
67fi
68
69#(( MEM=MEM/2 ))
70MEM=64000000
71while true; do
72        stress -t 12h --io 1 --cpu $CPUS --hdd 1 --vm 1 --vm-bytes $MEM || abort 1
73        echo "(CTRL-C to end testing)"
74done
Note: See TracBrowser for help on using the repository browser.