Use o comando watch para monitorar processos em execução

O utilitário watch é usado no Linux para rodar outros programas periodicamente e exibir resultados atualizados.
O que ele faz é reexecutar programas, até que você o mande parar.
Para interromper o seu andamento, use as teclas ^C (Ctrl + c).
O watch aceita parâmetros e opções para determinar de quanto em quanto tempo ele deve rodar novamente um comando.
Segue alguns exemplos de uso.

Como monitorar o uso das unidades de armazenamento do seu sistema

Você pode observar o espaço livre de todos os drives (internos, externos ou remotos) conectados ou montados no seu sistema ao combinar o comando df com o watch.
Veja um exemplo:


watch df -h

Como padrão, o watch reexecuta seu comando a cada 2 segundos.
linux free watch
Você pode alterar este comportamento com a opção ‘-n’ ou ‘–interval’:


watch --interval 0.5 du -h

Na linha acima, ajustei o intervalo entre uma execução e outra para meio segundo.
Desta vez, usei o comando du, que mostra a ocupação (ou uso) de cada diretório montado no sistema.
linux disk usage
Note que o watch exibe, no canto superior esquerdo da tela, o intervalo de tempo entre cada execução do programa: Every 0,5s (ou seja, “a cada meio segundo”), na imagem acima.

O comando df (disk free) mostra o espaço livre em uma unidade montada.
O du (disk used ou disk usage) mostra o uso ou a ocupação dos diretórios atuais

Como monitorar o uso da memória no Linux

O comando free é usado para mostrar a quantidade de memória livre, em diversos locais (RAM, SWAP etc).
Você pode usar o watch para verificar como o uso dos programas no seu computador afetam a memória do sistema.
Experimente o seguinte:


watch free

Aqui também é possível estabelecer um intervalo de atualização.
A visualização pode ficar mais interessante, se você permitir ao watch destacar os dados que sofreram alterações:


watch --differences --interval 0.1 free

Note que o menor intervalo possível é 0.1 segundos.
linux free memory

Outros exemplos de uso do watch

É possível encontrar outros exemplos de uso no manual do comando (man watch).
Por exemplo, para monitorar os arquivos que sofrerem algum tipo de modificação ou edição, no diretório atual, use o comando da seguinte forma:


watch -d 'ls -l'

Este tipo de comando é mais usado no diretório de logs ou no sistema de arquivos proc.

Como encontrar e listar os maiores arquivos e diretórios no sistema.

Algumas técnicas simples podem ser usadas para listar os maiores arquivos no seu sistema Linux ou FreeBSD, sem o uso de ferramentas gráficas — usando apenas um terminal.
Magic wand
Às vezes é necessário encontrar arquivos e/ou diretórios inteiros, que estão ocupando um espaço precioso em seu disco — e, a partir daí, determinar se sua existência é imprescindível ou não.
Alguns arquivos podem apresentar (pelos mais variados motivos) um crescimento expressivo em seu tamanho. É possível encontrar várias versões do kernel no seu sistema, quando você só precisa de uma.
Arquivos temporários, normalmente, são apagados automaticamente. Mas, se você desligou seu micro em algum momento abruptamente, estes e outros arquivos ainda podem estar lá, impedindo que você expanda o uso do seu HD.
Não há um comando simples para mostrar quais são os maiores arquivos presentes no seu sistema — mas há uma combinação deles, que resolve o problema.
Veja quais são:

  • du — mostra uma estimativa do uso do espaço em um dispositivo de armazenamento (HD, cartão flash, pendrive etc.)
  • sort — ordena as linhas de texto de arquivos ou de dados.
  • head — exibe as primeiras linhas de um arquivo ou de uma lista. Vamos usá-lo para exibir apenas os 10 maiores arquivos no sistema.
  • find — pesquisa o sistema para encontrar determinados arquivos. O comando find é explicado em detalhes no tutorial Como encontrar arquivos no Linux com o comando find — recomendo sua leitura!

arquivos em computador

Como usar o comando du, para ver os maiores diretórios no seu sistema

O comando du pode ser usado para obter estatísticas de ocupação dos diretórios e dos arquivos.
Experimente:

du -h /var

O nome do aplicativo utilitário du é a abreviatura de sua função: disc usage ou uso do disco.

A opção -h torna a leitura mais agradável (human readable) ao mostrar os valores em kilobytes, megabytes, gigabytes etc.
Para ver os 10 maiores arquivos/diretórios dentro de ~/.config, use o seguinte comando:

du -h ~/.config/ | sort -n -r | head -n 10

O meu resultado foi este:

1016K	/home/justin/.config/libreoffice/4/user/database/biblio
804K	/home/justin/.config/google-chrome/Default/Extensions/pokjppmpccggefgcenpngoleemajgnmo/0.2.27_0/libraries
784K	/home/justin/.config/transmission/torrents
760K	/home/justin/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda
756K	/home/justin/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/0.0.6.1_0
744K	/home/justin/.config/google-chrome/Default/Extensions/hbdpomandigafcibbmofojjchbcdagbl/3.9.671_0/web/assets/global
744K	/home/justin/.config/google-chrome/Default/Extensions/hbdpomandigafcibbmofojjchbcdagbl/3.9.625_0/web/assets/global
704K	/home/justin/.config/google-chrome/Default/Extensions/hbdpomandigafcibbmofojjchbcdagbl/3.9.671_0/web/assets/global/backgrounds
704K	/home/justin/.config/google-chrome/Default/Extensions/hbdpomandigafcibbmofojjchbcdagbl/3.9.625_0/web/assets/global/backgrounds
696K	/home/justin/.config/google-chrome/Default/Extensions/pokjppmpccggefgcenpngoleemajgnmo/0.2.27_0/styles

Com esta lista, é possível saber onde estão os arquivos com maior extensão e, se for o caso, dar algum encaminhamento a eles.
Use a opção que segue, para ter uma lista mais compacta:

du -hsx ~/.config/* | sort -rh | head -10

Dissecando o comando:

  • du -h — quebra os números e os representa na forma de Kb, Mb, Gb etc.
  • du -s — apresenta apenas um total sumarizado de cada item.
  • du -x — pula os diretórios que, porventura, se encontrem em sistemas de arquivos diferentes.
  • sort -r — inverte a ordem de exibição dos valores.
  • sort -h — torna mais amigável a exibição da lista.
  • head -10 — restringe a exibição da lista aos 10 primeiros itens.

Com o comando find, é possível obter um resultado semelhante. Observe:

find ~/.config/ -printf '%s %p\n'| sort -nr | head -10
14021508 /home/justin/.config/google-chrome/Safe Browsing Bloom
10028176 /home/justin/.config/google-chrome/pnacl/0.1.0.13992/_platform_specific/x86_64/pnacl_public_x86_64_pnacl_llc_nexe
4202496 /home/justin/.config/google-chrome/Default/Storage/ext/chrome-signin/def/Cache/data_3
4202496 /home/justin/.config/google-chrome/Default/Application Cache/Cache/data_3
3923495 /home/justin/.config/google-chrome/Dictionaries/pt-BR-3-0.bdic
3853312 /home/justin/.config/google-chrome/Default/Local Storage/http_www.technobezz.com_0.localstorage
2783258 /home/justin/.config/google-chrome/Safe Browsing Bloom Prefix Set
2711552 /home/justin/.config/google-chrome/Default/Sync Data/SyncData.sqlite3
2392064 /home/justin/.config/google-chrome/Default/Local Storage/https_twitter.com_0.localstorage
2163856 /home/justin/.config/google-chrome/pnacl/0.1.0.13992/_platform_specific/x86_64/pnacl_public_x86_64_ld_nexe

ou esta variação:

find ~/.config/ -printf '%s %p\n'| sort -nr | head -10

Com o comando abaixo, você pode pular nomes de diretórios e exibir apenas os nomes de arquivos mais volumosos:

find ~/.config/ -type f -printf '%s %p\n'| sort -nr | head -10

Os comandos vistos, neste artigo, são apenas o primeiro passo para você conseguir solucionar problemas. Eles podem e devem ser adaptados para se adequar às suas necessidades e ao seu sistema.
Você pode aprender mais sobre Linux, neste site, clicando nos links dados no decorrer do texto ou fazendo buscas personalizadas na caixa de pesquisa, no canto superior do site.
Sinta-se à vontade, também para compartilhar com seus amigos os artigos do site.
Divirta-se!