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`

