Você pode tentar executar a parte superior no modo em lote:
top -b -n100 > top.log
em que -n100 representa 100 iterações.
Outra alternativa é usar o ps com argumentos apropriados (estes são do Linux, você pode precisar consultar a man page do ps no Solaris). Por conveniência, o comando é incorporado em um script Bash.
#!/bin/bash
while true ; do
ps -eo pcpu,pmem,pid,ppid,args >> process.log
sleep 1
done
Você também pode ter que alterar a prioridade do processo de registro de atividades do processo para tempo real com o comando nice
.