top diz que IOWAIT é alto, como encontrar os processos culpados

9

Sei que não devo fazê-lo, mas executo algum sistema Ubuntu a partir de uma unidade flash USB, no modo persistente, e é dolorosamente lento.

"top" me diz que não é por causa da CPU, é por causa de E / S, ou seja,%% wa.

Eu já removi a troca, mas para otimizar ainda mais, preciso ter alguma pista sobre quais são os processos que atrapalham tanto o disco.

Então, basicamente, o que eu gostaria é o equivalente a "top" para exibir os processos com alto IOWAIT, bem como "top" exibe os processos com alta% de CPU.

JeanHuguesRobert
fonte
Eu gostaria que isso tivesse uma resposta melhor. Eu só quero uma maneira de fazer com que o topo inclua o tempo de iowait em suas porcentagens de CPU por processo.
bukzor

Respostas:

5

Muitas unidades de "pen" USB são muito lentas, principalmente para gravação, portanto pode haver muito pouco que você possa fazer além de tentar uma unidade mais rápida.

Para responder à sua pergunta direta: Você pode ter uma ideia do que está acontecendo no disco iotop -o- se for deixado em execução durante períodos ocupados que mostrarão quais processos estão executando ativamente leituras / gravações de disco e quanto. Isso pode destacar algum processo ou serviço que você pode dispensar e desativar para ajudar as coisas. Existem alguns trabalhos crons em muitas configurações do Linux que varrem uma parte do sistema de arquivos (se não todos) ocasionalmente para atualizar os caches de pesquisa (como a updatedbtarefa que atualiza os dados usados ​​por comandos como locate) - se você encontrar um dos como está causando sua lentidão, eles podem ser removidos com segurança da lista de itens do cron para executar regularmente.

Quanta RAM você tem na máquina de destino? Se for uma máquina pequena com essa medida, isso não ajudará, pois haverá pouco espaço para armazenar em cache as leituras (para que as coisas sejam lidas novamente em pouco tempo mais tarde sejam necessárias novamente a partir do pen drive USB, em vez de uma cópia em cache na RAM).

Você também pode tentar uma versão reduzida do Ubuntu, principalmente se estiver em uma situação de pouca RAM, mas também poderá ajudar se você tiver muita RAM, mas unidades lentas, reduzindo o tempo de inicialização, se nada mais. O lubuntu é uma escolha popular para isso - todos os pacotes usuais estão disponíveis, caso você precise deles, mas instala menos por padrão, inicia menos serviços na inicialização por padrão e usa um ambiente de desktop de menor peso (tudo que não seja essas alterações é o mesmo arranjo , então você deve achar isso relativamente familiar, mesmo que o Ubuntu seja a única variante do Linux com a qual você tenha muita experiência).

David Spillett
fonte
2
Obrigado. Ao executar o iotop -o -d 5 (5 segundos, não sou um leitor rápido), notei três coisas: 1 / jdb2, 2 / gnome-setting-daemon e 3 / chromium que juntos geram quase 50% de ... Por que escrever o gnome e o cromo no disco o tempo todo é um mistério (no entanto, não são muitos dados, cerca de 10K / s)? Em relação ao jdb2, creio que é minha culpa, infelizmente, usei um ext4 fs e estou procurando soluções para voltar a um ext2 mais apropriado para chaves USB com gravação lenta.
precisa saber é o seguinte
2
Kbytes / s ou gravações podem ser um problema para unidades baseadas em flash, pois elas precisam gravar em blocos grandes (portanto, para cada gravação pequena, o controlador pode ler um bloco completo, atualizá-lo e depois gravá-lo). O Chromium atualizará seu cache baseado em disco regularmente, possivelmente constantemente se os sites que você abrir estiverem executando solicitações em segundo plano para manter as informações "instantaneamente" atualizadas (o Facebook e muitos aplicativos similares fazem isso). O uso de um sistema de arquivos sem diário como o ext2 melhorará as coisas removendo a gravação no diário da situação, mas é menos seguro e não tenho certeza de quão notável será a diferença.
David Spillett