Existe algum comando no Linux para descobrir, dado um processo, qual processador o processo está executando? Estou interessado em descobrir a CPU ocupada e o tempo ocioso da CPU desse processador.
26
Você pode usar o ps
comando para consultar e exibir o processador ativo. Por exemplo, você pode executar:
$ ps -aF
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 1 0 0 5971 1764 1 Sep15 ? 00:00:01 /sbin/init
ubuntu 28903 2975 0 3826 1208 0 09:36 pts/0 00:00:00 ps -aF
A PSR
coluna mostra que init
está sendo executado no processador 1 e ps
no processador 0. Consulte a página de manual do ps (1) para obter mais detalhes sobre como personalizar os campos que são exibidos.
Você pode configurar uma ferramenta gráfica como htop
para exibir o processador ativo atual. Além disso, htop
possui um gráfico de exibição de carga por CPU, que pode ser o que você está procurando. Veja, por exemplo, a seguinte captura de tela em http://htop.sourceforge.net/ .
Por fim, você pode usar a taskset
ferramenta para forçar a afinidade com uma CPU específica.
Existem muitas maneiras de descobrir. topo, ps.
htop
url: http://htop.sourceforge.net/
topo
url: http://gitorious.org/procps
aqui está um exemplo com a última coluna
P
ps
PSR é o código para exibir a identificação do processador. Você pode usar a opção de formato como
ps -o pid,psr
ou simplesmenteps -eF
fonte
Apenas cito o conteúdo do homem ps:
O psr informará o processador em que o processo está sendo executado ou executado. O pcpu informará a porcentagem de tempo que o processo consumiu.
Estilo BSD:
fonte