Alta utilização da CPU com o comando zip

0

Quando estou usando o utilitário zip no Linux para compactar arquivos, a utilização da CPU está indo para 100%.

Alguém pode me ajudar por que a utilização da CPU é tão alta?

Estou usando o comando:

zip file_name *.xml
    
por Arvind 02.07.2013 / 07:43

3 respostas

5

Você pode limitar o uso do cpu para o comando zip para não ir além de determinado uso. por exemplo, se você quiser que o comando zip não leve mais que 30% da CPU, então você pode usar o seguinte:

  cpulimit -e zip -l 30
    
por 02.07.2013 / 09:16
3

Quanto mais compressível for um arquivo, mais CPU ele usará durante a compactação, já que estará realizando a compactação (que é ligada à CPU) em vez da E / S. Os arquivos XML são altamente compressíveis devido à sua natureza detalhada e repetitiva.

    
por 02.07.2013 / 07:47
2

A utilização da CPU é alta se a tarefa puder usar muita energia da CPU sem ser interrompida. Você poderia dizer: uma alta utilização da CPU é boa porque facilita o aumento da velocidade do computador ...

Se você comprimir um arquivo que pode ser compactado com o mínimo de esforço (por exemplo, repetir a mesma linha de texto 100000 vezes), faça isso em uma CPU extremamente rápida e carregue o arquivo de um disco extremamente lento (ou armazenamento de rede) a utilização da CPU diminuiria. Mas isso aconteceria porque a CPU aguarda E / S o tempo todo. Se o armazenamento é muito rápido e a CPU é muito lenta, a utilização da CPU aumenta porque o tempo de espera de E / S em relação ao tempo de CPU diminui.

Uma utilização de CPU abaixo de 100% significa que sua CPU possui recursos não utilizados. Isso geralmente não é o que você quer. Um processo com alta utilização da CPU é ainda melhor para os outros processos no sistema porque não afeta o gargalo de E / S.

Quais processos são executados mais lentamente quando vários processos estão realmente competindo pelo tempo de CPU (cada um deles pode usar 100% da CPU) depende da prioridade da CPU, que pode ser vista com ps ou top e definida com top , nice e renice . Os cgroups são um poderoso conceito para priorizar grupos de processos.

    
por 02.07.2013 / 11:56

Tags