Há advertências para prestar atenção. Uma vez que a questão não especifica um sistema operacional exato (mas implica que há algum sistema operacional semelhante ao Unix), a lista de advertências dependerá do sistema operacional e da versão específicos. O mais importante a ter em mente é:
nice
destina-se a afetar quanto tempo de CPU é dado a um processo, mas não quanto RAM ou capacidade de E / S. Assim, em vez do efeito pretendido, outros resultados possíveis incluem:
- O backup leva mais tempo para ser concluído devido ao menor tempo de CPU. Mas usará tanto RAM quanto costumava e agora usará essa RAM por mais tempo. O sistema é retardado devido a ter menos RAM para outros propósitos, e essa lentidão vai durar mais tempo do que costumava.
- O uso de
nice
não tem nenhum efeito, porque o processo de backup foi iniciado com E / S e o agendamento de E / S não é afetado pornice
. Se o sistema operacional for uma versão recente do Linux, o agendamento de E / S pode ou não ser afetado pornice
dependendo de qualionice
está sendo usada.
Além disso, mesmo o efeito exato no agendamento da CPU depende muito do sistema operacional e das configurações específicas. Alguns kernels possuem configurações que permitem que um processo seja executado em uma prioridade maior ou menor do que aquelas alcançáveis usando o comando nice
.
Uma ressalva que eu tenho em mim parece ser específica para o Ubuntu 14.04. Na configuração padrão, ele agrupa processos para fins de agendamento. Cada grupo recebe uma parte justa do tempo da CPU. nice
afeta apenas como o tempo de CPU é alocado para processos dentro de um grupo, mas não quanto é alocado para cada grupo. Para mim, isso prejudicou completamente o uso de nice
, porque um processo de baixa prioridade ainda poderia tirar o tempo de CPU dos processos em diferentes grupos.