2011-05-19 10 views
7

Sto facendo dei test su un server Linux e ho bisogno che il server si carichi pesantemente. Mi stavo chiedendo come avrei simulato questo? In questo momento il server raggiunge il 20% di CPU, ma ho bisogno di forzarlo a circa l'80% e fare qualche test per vedere come si comporta.Mettere il server su un carico pesante per il test

risposta

11

Se si vuole forzare l'occupazione di CPU, provate questo:

for cpu in 1 2 ; do 
    (while true; do true; done) & 
done 

Se si vuole simualte carica IO troppo, provate con questo:

for cpu in 1 2 ; do 
    (while true; do find/-type f -exec cp {} /dev/null \; ; done) & 
done 

con for cpu in 1 2 per 2 nuclei, for cpu in 1 2 3 4 per 4 core;)

+0

I' Sto cercando di fare qualche ricerca o qualcosa in dev/null? – unleashed

+1

il comando 'find' con quegli argomenti sta copiando ogni file nel filesystem in'/dev/null', quindi generando un sacco di IO come @ Cédric ha detto. –

+0

Certamente funziona anche se sono un po 'preoccupato per la copia di file in/dev/null. I file non vengono effettivamente memorizzati in/dev/null correttamente? – unleashed

2

Se si sta cercando di generare l'utilizzo della CPU, quindi è necessario scegliere i comandi, che sono ad uso intensivo della CPU. Ad esempio generazione di numeri casuali.

Prova questa:

dd if=/dev/urandom of=/dev/null 

Aggiungi su quelli linea per ogni core della CPU. Se si dispone di un uso di CPU dual-core:

dd if=/dev/urandom of=/dev/null & 
dd if=/dev/urandom of=/dev/null & 

Controllare i lavori con

jobs 

Terminare i lavori con kill %1 (dove% 1 è il numero di posti di lavoro 1)

Problemi correlati