Sjovt lille ram-script til at vise ram-forbrug

Dette forum bruges på EGET ANSVAR til at lege med scripts og andre ting med risiko for at beskadige sit eget og andres systemer.
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Sjovt lille ram-script til at vise ram-forbrug

Indlæg af NickyThomassen »

For at kunne følge med i "real-time" ram-forbrug, har jeg lavet sådan en lille sjov en her:

Kode: Vælg alt

#!/bin/bash
if [ -z "$2" ] ; then
   S=10
else
   S=$2
fi
if [ -z "$1" ]; then
   X=0
   R=1
else
   X=$1
   R=0
fi
while [ "$R" -ne "$X" ] ; do
TIME=$(date +%H.%M:%S)
FREE=$(free -m | grep Mem | awk '{ print $3 }')
TOTA=$(free -m | grep Mem | awk '{ print $2 }')
   R=$((R+1))
   if [ "$X" -eq 0 ] ; then
      R=$((R-1))
      echo "Klokken $TIME er der brugt $FREE megabyte ram ud af $TOTA (Kørsel $R)"
      R=$((R+1))
   else
      echo "Klokken $TIME er der brugt $FREE megabyte ram ud af $TOTA (Kørsel $R af $X)"
   fi
if [ "$R" -eq "$X" ] ; then
   exit 0
fi
sleep $S
done
exit 0

Det kan kaldes med op til 2 valgfrie talværdier, hvor den første vil være hvor mange gange scriptet skal køre, og det andet hvor lang pause der skal være i sekunder, imellem hver kørsel. Kalder man scriptet uden værdier, så vil det køre hvert 10. sekund, indtil det bliver afbrudt.

Hvis man selv vil bestemme hvor længe scriptet skal vente imellem hver kørsel, men ikke vil sætte antal på hvor mange kørsler sciptet skal lave, så sættes antallet af kørsler bare til en negativ værdi, fx -1, så kører scriptet til det bliver afbrudt manuelt.

Kode: Vælg alt

titanus@ubuntudk:~$ <script-navn> -1 180
Klokken 09.55:13 er der brugt 596 megabyte ram ud af 1024 (Kørsel 1 af -1)
Klokken 09.58:13 er der brugt 575 megabyte ram ud af 1024 (Kørsel 2 af -1)
...