Obtendo a alternativa para o patch do kernel Linux de 200 linhas para funcionar

3

Aparentemente, há uma alternativa comparável às 200 linhas patch de kernel que não envolve atualização do kernel.

Ele é apresentado aqui e discutido aqui .

No entanto, não tenho certeza se a solução do webupd8 (sob o seção "Use no Ubuntu") no Ubuntu realmente funciona ou não. Em particular, um comentarista ./ está dizendo que ele está recebendo uma mensagem de erro. Alguém poderia postar o método "correto" que realmente funciona?

Solução sugerida:

Com base nos comentários que li até agora, o seguinte parece funcionar.

(1) Em /etc/rc.local , adicione as seguintes linhas acima de exit 0 :

mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

(2) Crie um arquivo chamado /usr/local/sbin/cgroup_clean com o seguinte conteúdo:

#!/bin/sh
rmdir /dev/cgroup/cpu/

(3) No seu ~/.bashrc , adicione:

if [ "$PS1" ] ; then 
    mkdir -m 0700 /dev/cgroup/cpu/user/$$
    echo $$ > /dev/cgroup/cpu/user/$$/tasks
    echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release
fi

(4) (Para garantir que o bit de execução esteja ativado), execute

sudo chmod +x /usr/local/sbin/cgroup_clean /etc/rc.local

(5) Reinicie.

    
por Gödel 19.11.2010 / 01:33

3 respostas

2

A resposta acima deve, de fato, corrigir a mensagem de erro do terminal. Gödel, não tenho certeza se entendi seu ponto. Vou tentar explicar a mudança:

Como o valor padrão de notify_on_release na criação de outros cgroups é o valor atual de seus pais notify_on_release, configurar o valor de / dev / cgroup / cpu / user / notify_on_release como 1 garante que cada cgroup filho tenha o email notify_on_release ativado e assim o release_agent seria executado. Infelizmente, quando o último cgroup filho de "user" foi removido (pelo release_agent), essa pasta também seria removida, levando às mensagens de erro reportadas. Uma solução simples é ativar o notify_on_release para cada cgroup individualmente na criação, mantendo a configuração dos pais desativada.

Espero que seja fácil de seguir!

Edit: Eu teria postado isso como um comentário para a resposta real, mas parece que eu não tenho reputação suficiente para fazê-lo (ainda).

    
por ricardofcf 19.11.2010 / 05:27
1

Eu apliquei este patch usando o script automatizado na Web UPD8 em um Asus eee 1000H. Percebi um aumento de desempenho considerável no Google Chrome com aplicativos Flash em execução. Os vídeos eram mais suaves e com menos queda de quadros. A interface do GNOME também é mais rápida e o Windows é redesenhado mais rapidamente. Muito legal. texto do link

    
por Mark 09.01.2011 / 01:47
0

Instruções atualizadas de Ricardo Ferreira

Comece editando seu arquivo rc.local, executando sudo -H gedit /etc/rc.local e adicione as seguintes linhas acima de exit 0 :

mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

Salve e saia do gedit. Agora, torne-o executável:

sudo chmod +x /etc/rc.local

Depois de fazer isso, edite o arquivo .bashrc encontrado em seu diretório pessoal (gedit ~ / .bashrc) e, no final deste arquivo, adicione:

 if [ "$PS1" ] ; then  
    mkdir -m 0700 /dev/cgroup/cpu/user/$$
    echo $$ > /dev/cgroup/cpu/user/$$/tasks
    echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release 
 fi

Uma última coisa. Para garantir que os cgroups sejam excluídos sempre que a última tarefa sair, execute:

sudo -H gedit /usr/local/sbin/cgroup_clean

Copie e cole isto:

#!/bin/sh
rmdir /dev/cgroup/cpu/$*

Mais uma vez, salve o arquivo, saia do gedit e torne-o executável:

sudo chmod +x /usr/local/sbin/cgroup_clean

Feito! Reinicie o seu computador para aplicar as alterações.

    
por robin0800 19.11.2010 / 02:27

Tags