Não há resposta variante entre unix para esta pergunta. Em geral, é melhor descrever qual sistema operacional você está usando (incluindo a distribuição para Linux, mas aqui não importa muito, se é que faz). Adicionei uma linuxtag, altere-a se não for isso que você está usando.
Gilles 'SO- stop be evil'
Você se importa se eu perguntar por que você está procurando aumentar a prioridade do mplayer? Eu perguntei, porque eu já tive problemas antes em aumentar a prioridade do mplayer, o efeito foi oposto ao que eu estava tentando realizar, porque o mplayer se ocupava gastando o tempo da CPU na limpeza de pós-produção e depois paralisava quando a rede finalmente teve um suspiro de ar para pegar mais conteúdo, então o mplayer gaguejou de volta à vida, apenas para parar novamente à espera da rede.
killermist
Eu perguntei a essa causa, estou jogando um filme através do mplayer. Sempre que tento baixar alguns arquivos de GB na rede. Mplayer observa fatias e um empurrão enquanto joga.
SHW
Respostas:
16
Para definir a gentileza (vinculado à CPU), use nice. Para definir a gentileza IO (IO bound), use ionice. Consulte as respectivas páginas do manual para obter mais informações. Você pode usá-los juntos da seguinte maneira:
ionice -c 2 -n 0 nice -n -20 mplayer
Nota: o nível mais baixo de gentileza (menor significa mais favorável) que você pode definir é determinado por limits.conf. No meu computador, o arquivo está localizado em /etc/security/limits.conf.
Mencionar as classes io scheduler é bom, porque é provável que isso seja um grande fator. Não vale nada que, para a classe de -c2agendamento intermediária , os processos sejam classificados por padrão pelo bom nível; portanto, o comando de exemplo que você forneceu não é realmente necessário. Pode-se tentar colocar o mplayer na -c1aula em tempo real. (Com acesso root.)
mattdm 17/02/11
7
Em geral, como usuário não root, você pode apenas diminuir a prioridade de suas tarefas, não aumentá-las. Portanto, uma abordagem seria diminuir a prioridade de todo o resto. Ou, você pode configurar algo no nível do sistema que lide com suas prioridades.
Se você estiver usando uma distribuição Linux relativamente moderna, a maneira mais poderosa seria com grupos de controle . Isso está em sua infância, então basicamente você teria que configurar tudo manualmente, mas, em resumo, o que você deseja é configurar o categorizador para colocar processos diferentes em diferentes grupos de controle de CPU e, então, dar ao processo mplayer mais compartilhamentos de CPU.
linux
tag, altere-a se não for isso que você está usando.Respostas:
Para definir a gentileza (vinculado à CPU), use
nice
. Para definir a gentileza IO (IO bound), useionice
. Consulte as respectivas páginas do manual para obter mais informações. Você pode usá-los juntos da seguinte maneira:Nota: o nível mais baixo de gentileza (menor significa mais favorável) que você pode definir é determinado por
limits.conf
. No meu computador, o arquivo está localizado em/etc/security/limits.conf
.fonte
-c2
agendamento intermediária , os processos sejam classificados por padrão pelo bom nível; portanto, o comando de exemplo que você forneceu não é realmente necessário. Pode-se tentar colocar o mplayer na-c1
aula em tempo real. (Com acesso root.)Em geral, como usuário não root, você pode apenas diminuir a prioridade de suas tarefas, não aumentá-las. Portanto, uma abordagem seria diminuir a prioridade de todo o resto. Ou, você pode configurar algo no nível do sistema que lide com suas prioridades.
Se você estiver usando uma distribuição Linux relativamente moderna, a maneira mais poderosa seria com grupos de controle . Isso está em sua infância, então basicamente você teria que configurar tudo manualmente, mas, em resumo, o que você deseja é configurar o categorizador para colocar processos diferentes em diferentes grupos de controle de CPU e, então, dar ao processo mplayer mais compartilhamentos de CPU.
fonte