Os sinalizadores -c, -p e -r do comando rmss

A vantagem de usar as bandeiras -c, -p e -r do comando rmss é que elas permitem experimentar aplicativos complexos que não podem ser expressos como um único programa executável ou arquivo shell script. Por outro lado, a desvantagem de usar as opções -c, -pe -r é que eles forem você a fazer as suas próprias medições de desempenho. Felizmente, você pode usar o comando vmstat -s para medir a atividade de paginação-espaço que ocorreu enquanto seu aplicativo correu.

Ao executar o comando vmstat -s, executando seu aplicativo, então executando o comando vmstat -s novamente, e subtraindo o número de paginação-space page-ins antes do número de paginação-space page-ins após, você pode determinar o número de paginação-space page-ins que ocorreu enquanto seu programa correu. Além disso, ao cronometrarem seu programa, e dividindo o número de página de paginação-espaço-ins pelo tempo de execução decorrido do programa, é possível obter a média de paginação-espaço de página-em taxa.

Também é importante executar o aplicativo várias vezes em cada tamanho de memória, por duas razões:

  • Ao alterar o tamanho da memória, o comando rmss muitas vezes clava muito de memória. Assim, a primeira vez que você executa seu aplicativo após alterar tamanhos de memória é possível que uma parte substancial do tempo de execução possa ser devido ao seu aplicativo lendo arquivos em memória real. Mas, uma vez que os ficheiros podem permanecer na memória após a sua aplicação terminar, as execuções subsequentes da sua aplicação podem resultar em tempos decorridos substancialmente mais curtos.
  • Para obter uma sensação para o desempenho médio do aplicativo naquele tamanho de memória. É impossível duplicar o estado do sistema cada vez que o seu aplicativo for executado. Por causa disso, o desempenho de sua aplicação pode variar significativamente de correr para execução.
Para resumir, considere o seguinte conjunto de etapas como uma maneira desejável de chamar o comando rmss :
while there are interesting memory sizes to investigate:
  {
  change to an interesting memory size using rmss -c;
  run the application once as a warm-up;
  for a couple of iterations:
    {
    use vmstat -s to get the "before" value of paging-space page ins;
    run the application, while timing it;
    use vmstat -s to get the "after" value of paging-space page ins;
    subtract the "before" value from the "after" value to get the
       number of page ins that occurred while the application ran;
    divide the number of paging-space page ins by the response time
       to get the paging-space page-in rate;
    }
  }
run rmss -r to restore the system to normal memory size (or reboot)

O cálculo dos números de E/S de paginação (após antes) de paginação podem ser automatizados usando o script vmstatit descrito em Disco ou problema relacionado à memória.