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
nicenã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 pornicedependendo de qualioniceestá 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.