Shell Script : Estresse de memória no SO para testes

Neste exemplo será apresentado como utilizado estresse de memória em Linux (usei RHEL7 no meu testes).

Podemos usar este script para forçar a consumir memória a ponta de testar ballooning em virtualização ou alguma situação testando scaling de cloud (AWS Auto Scaling).

Podemos alocar memória no SO por período usando m para minutos , s para segundos e h para horas .

#/bin/bash
echo "Provide sleep time in the form of NUMBER[SUFFIX]"
echo "   SUFFIX may be 's' for seconds (default), 'm' for minutes,"
echo "   'h' for hours, or 'd' for days."
read -p "> " delay

echo "begin allocating memory..."
for index in $(seq 1000); do
    value=$(seq -w -s '' $index $(($index + 100000)))
    eval array$index=$value
done
echo "...end allocating memory"

echo "sleeping for $delay"
sleep $delay

Saída do script :

script_memoryStress

Em meu teste coloquei 5 minutos , onde foram cosumidos 613 Mbs de 1Gbs da VM .

ScriptMemoryStress

Referência :

http://stackoverflow.com/questions/4964799/write-a-bash-shell-script-that-consumes-a-constant-amount-of-ram-for-a-user-defi