Com problemas de desempenho (por exemplo, altos tempos de CPU), geralmente é melhor monitorar essas coisas ao longo do tempo do que após o fato, especialmente quando processos de curta duração podem ser os culpados. No Linux, uma ferramenta que você pode usar de forma interativa é iotop
(link fixo) (veja também as respostas para esta pergunta sobre o rastreamento de E / S de disco . Você pode fazer o script deste (modo em lote) ou executá-lo de forma interativa como top
, usar as teclas do cursor para classificar por SWAPIN ou usar a opção -o
para que a saída não fique tão confusa. Você precisará do Python ≥2.7 e vários parâmetros de configuração do kernel ativados (consulte iotop
' README
ou man page).
Em vez de usar somente dados de /proc
como vmstat
, iotop
usa taskstats
, isso usa o IPC do netlink para fornecer com eficiência a contabilidade do processo diretamente do kernel para o espaço do usuário.
Na maioria dos sabores do Linux com a configuração padrão " swappiness " de 60, é bastante normal ver a atividade de paginação quando o sistema está moderadamente ocupado: o kernel está escrevendo preventivamente páginas de processo pouco usadas para trocar em vez de remover páginas de cache de disco usadas recentemente. (Há um parâmetro relacionado vfs_cache_pressure
para ajustar algum comportamento de cache.) Se você observar a paginação persistente em andamento, provavelmente haverá mais do que apenas isso.
Caso contrário, se você está preocupado com o swap use agora ao invés de ao longo do tempo: o kernel mantém o controle do uso de swap por processo em /proc/PID/status
. Você pode fazer algo rápido com gawk
(≥v4.0):
gawk '/^Name:/{nm=$2} /^Pid:/{pid=$2} /^VmSwap:/{sw=$2}
ENDFILE{printf("%-24s %6i %6ikiB\n",nm,pid,sw)}' /proc/[0-9]*/status |
sort -h -k 3
De acordo com a documentação shmem (memória compartilhada) trocada, não é contada aqui, mas você esperançosamente não precisará se preocupar com isso. O script getswap.sh
do Eric Ljungstrom também pode ser usado, há um mais avançado versão dele em esta resposta .