O que eu encontrei é semelhante à pessoa que fez a pergunta acima, pelo menos no CentOS 6. Se eu rodar top no modo batch por apenas uma iteração, parece que ele coleciona o mesmo valor, quase como se sua tendência fosse comece com o que ele lembra da última exibição. Top parece precisar acumular pelo menos alguns números para conseguir que os deltas lhe dêem porcentagens corretas. Tendo testado mais de 10 iterações, descobri que a segunda figura que apareceu mostrou diferenciação suficiente em cada execução. Então, é fácil o suficiente para obter essa linha via
top -b -n 2 | grep Cpu | tail -1
Eu gosto de incorporar isso com tempo de atividade para carregar e um filtro grep de processos selecionados do ps, como consultas postgres. Um monitor muito simples pode ser expresso com o alias:
alias postgresmon="watch -d 'uptime;top -b -n 2 | grep Cpu | tail -1;ps -ef | grep postgres\: | grep -v idle'"