Como corrigir lentidão do Google Music Beta com o BOINC

Começando o ano com uma rapidinha sobre Linux, BOINC e Google Music Beta. Uso o uploader do Google Music Beta com frequência para subir minhas músicas para o sistema da Google e também uso o BOINC para colaborar com projetos de computação distribuída. Notei que, às vezes, o uploader do Google Music Beta ficava bastante lento, e resolvi investigar o porquê.

Rodando o top pude entender o motivo:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1884 boinc     39  19 62316  35m  600 R   90  0.9 276:55.07 primegrid_cllr_
 7421 boinc     39  19  263m 259m 2476 R   84  6.6  59:31.21 hsgamma_FGRP1_0
 2846 nighto    37  19  692m  37m  22m S    2  0.9   2:41.32 MusicManager

A coluna NI mostra a prioridade (niceness) do processo. O valor de niceness, que varia entre -20 e 19, representa a prioridade do processo no scheduler do kernel; quanto maior o valor, menor a prioridade que o processo terá. Os processos do BOINC tem prioridade 19 para que não suguem todos os recursos da máquina; o processo do Google Music também é assim para, suponho, não deixar a máquina lenta quando realizando uma conversão de CODEC antes do upload (FLAC ou OGG para MP3, por exemplo). Como os 3 processos (2 do BOINC, pois meu processador é dual-core, e o do Google Music Beta) tem a mesma prioridade, isso se reflete como uma lentidão na interface gráfica do Google Music.

Para corrigir isto, basta mudar o valor de niceness do processo do Google Music com o comando renice para qualquer valor maior que 19 (18 é suficiente). O renice trabalha com o PID do processo (Process IDentificator, um número que identifica cada processo no sistema) e deve ser executado como root. Então você pode descobrir o PID do processo com o comando ps aux:

$ ps aux | grep google-musicmanager

nighto 2846 0.2 0.9 709224 38512 ? SNl Jan26 2:47 /opt/google/musicmanager/google-musicmanager
nighto 14384 0.0 0.0 15812 908 pts/0 S+ 13:01 0:00 grep --color=auto google-musicmanager

E então executar a mudança de prioridade de execução com o renice:

# renice 18 2846

2846 (process ID) old priority 19, new priority 18

Ou, simplesmente, fazer isto num comando só:

sudo renice 18 `ps aux | grep google-musicmanager | awk '{print $2}' | head -n1`

This entry was posted in Linux and tagged , , , , , . Bookmark the permalink.

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">