Por que o loop no linux mostra baixo desempenho em relação ao Solaris?

0

Eu tenho um shell script que estou executando no Linux e no Sun Solaris, mas há uma diferença considerável no tempo gasto pelo script para executar.

Quando eu depurar o script em ambos os servidores usando 'set -x', descobri que um loop for, tomando sua saída de uma instrução 'awk', está demorando muito mais tempo no linux do que no solaris. depois de configurar a opção debug eu posso observar a execução linha por linha dos scripts e observo que o desempenho é muito mais lento no linux, mesmo que o mesmo conjunto de linhas seja executado em ambos os servidores.

a seguir é a parte do script que leva tempo:

for k in 'awk ' {print $1 }'  StartAppTemp'

Também calculei o tempo gasto pelo loop for usando o comando abaixo:

time 'for k in 'awk ' {print $1 }'  StartAppTemp''

O / P no linux:

real    0m0.002s
user    0m0.000s
sys     0m0.003s

O / p no Solaris

real    0m0.00s
user    0m0.00s
sys     0m0.00s

Aqui a precisão é de apenas 2 dígitos após o decimal.

script completo:

for k in 'awk ' {print $1 }'  StartAppTemp';do
ps -p $k >/dev/null;
if test $? -eq 0 ; then
echo "running";
else
echo "Stopped";
fi;
done;

Existe uma maneira de melhorar o desempenho no Linux?

    
por Arjun 11.01.2017 / 10:32

0 respostas