De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Rodando mp3 sem travar o micro

Colaboração: Alex HashMeir Fernandes Rosa

Data de Publicação: 04 de Dezembro de 2001

As vezes quando voce esta rodando mp3 no seu Linux, e abre um aplicativo mais pesado, ele costuma travar ou falhar a musica que esta tocando, mesmo tendo processador/memoria bons.

Uma maneira de resolver isso, é utilizando um recurso as vezes pouco explorado, que é a possibilidade de dar a um processo, no caso, ao seu player de mp3, uma prioridade mais alta de execucao.

O Linux possui prioridades de execucao que vai de 20 (mais baixa) a -20 (mais alta). Se voce então, alterar a prioridade de execucao do seu player de mp3 para, por exemplo, -20, voce pode executar qualquer aplicativo, seja pesado o que for, que dificilmente sua musica vai parar de tocar.

A desvantagem disso tudo é que os outros processos ficaram um pouco mais lento para executarem, ja que o player teria principal prioridade no uso do processador, assim, os outros processos teriam que esperar uma folguinha, ou entrarem na fila, para usarem o processador. Sendo que o seu player seria o primeiro da fila.

Para fazer isso basta executar as seguintes tarefas:

Use o comando ps -ax para verificar qual PID do seu player (o PID é o primeiro numero que aparece na listagem com o ps -ax).

Apos isso entre em /proc/pid (onde PID é o numero do PID que voce verificou com o comando ps -ax). Exemplo: cd /proc/1020

De um "cat stat" e anote o quinto numero que aparece. Esse numero é o pgrp ou process group do player mp3 que voce esta utilizando. Voce vai precisar dele para alterar a prioridade de execucacao.

Para voce alterar o nivel de prioridade, para menor do que 0, voce precisa ser root.

Faca login como root no sistema, e execute o comando:

  renice -20 -g pgrp

onde:

-20 - serah o novo nivel de prioridade, ou prioridade maxima pgrp - voce substitui pelo pgrp do seu processo, que voce obteu anteriormente.

e seu programa ja estara executando com prioridade maxima.

Mas vai um conselho, segundo Fabio Minami da Conectiva, não é aconselhavel dar prioridade mais alta do que a do init para nenhum programa. Não aconselhamos ninguém a fazer isso em casa! :)

O correto neste caso seria aumentar o buffer do xmms ou do mpg123.

Sem opções, o mpg123 é executado sem nenhum espaço em buffer. Use a opção -b para o mpg123 usar o buffer. Exemplo:

  $ mpg123 -b 1024 musica.mp3

a opção -b (ou --buffer) diz ao mpg123 para usar um buffer de 1024 KB (ou 6 seg. de som).

No xmms também é possível aumentar o espaço em buffer, clique no menu, depois em opções --> preferências --> plugins de e/s de áudio --> plugin de saída --> configurar. No diálogo que se abre, escolha buffer e defina o tamanho (em ms, não em KB).

Duvidas:

  man ps
  man nice
  man renice
  man proc

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Alex HashMeir Fernandes Rosa