Por que o rsync se bifurca em si? E por que um desses processos bifurcados é quase meio ocioso (como visto no iotop)?

9

Refere-se ao problema declarado aqui e também estou passando por o mesmo.

Em um dos meus servidores, executei um rsync para fazer o backup de um diretório enorme (tamanho maior que 300 Gb) em um disco diferente, montado na mesma máquina. O diretório que está sendo rsynced contém milhares de diretórios e arquivos. Eu emiti um único comando rsync, com 'nohup' e, em seguida, coloquei em segundo plano usando o '&' comando. O comando completo fornecido no shell bash remoto (usando putty) era:

nohup rsync -avh /some/local/dir /backup/ >> /opt/rsync.dec22.log &

Em seguida, apenas para verificar a que taxa os dados estavam sendo copiados, usei o comando 'iotop' e descobri que havia 3 rsync em execução com os mesmos parâmetros. Na busca, encontrei o link acima, que diz que é normal.

Mas, ao fazer um iotop para monitorar apenas esses e os únicos processos rsync em execução no sistema, vejo que um processo está lendo arquivos, um está gravando-os, mas um está ocioso. O comportamento parece ser bom, como um processo fazendo apenas uma coisa de cada vez, mas o que o terceiro processo está fazendo (visto como o do meio na imagem abaixo)?

O comando iotop que eu usei foi:

iotop -p22250 -p22251 -p22252

Aqui está a captura de tela da saída do comando iotop:

Estou perguntando por que uso muito o rsync e quero entender seu comportamento para benefícios a longo prazo. Eu até li o manual, mas não diz nada sobre a bifurcação.

    
por Gautam Somani 23.12.2012 / 14:46

1 resposta

10

O rsync é um programa projetado para ser um cliente e um servidor. O servidor lê e o cliente grava. Imagine que, em vez de um único computador, você tivesse computadores pela rede, tenho certeza de que é muito mais claro se você pensa assim.

Depois, há o controlador. Como as operações IO tendem a apresentar certa quantidade de risco, um problema de IO não deve causar bloqueio total ou travamento. Então, ele cria um fork para cada conexão e fica em segundo plano.

    
por 23.12.2012 / 15:10