Dúvida: Usar parte da memória RAM como "cache" da internet

Iniciado por ninow, 17 de Maio de 2012, 15:06

tópico anterior - próximo tópico

ninow

Sou novo no Linux, e estou ainda pegando o jeito, mas gostando muito do sistema.

Como meu HD pifou, inicio o Linux pelo pen drive (pelo CD não salva alterações no sistema), até juntar uma grana e comprar um HD novo.
O problema é que em alguns momentos o uso do pen drive fica muito alto, causando muita lentidão, principalmente usando a internet.

Uma solução que imaginei, mas não sei se é possível, é usar parte da memória RAM (tipo uns 200 MB) como uma unidade de armazenamento, assim como ocorre quando usamos o CD, para direcionar os arquivos temporários da internet a serem colocados lá.

Uso o Chrome, sei que no Windows existe um comando para direcionar a pasta temporária, mas ainda não testei no Ubuntu.

ninow

#1
Desculpe se é proibido responder à própria pergunta, mas encontrei uma parte da resposta

1. Como indicar ao Chrome em que pasta salvar os arquivos temporários
No Windows eu adicionava a linha de comando ao atalho do executável do Chrome
--user-data-dir="DRIVE:\DIRETÓRIO"
No meu caso, o comando inteiro ficava assim:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="D:\Internet\Chrome"

2. Como "montar" parte da memória RAM
Aparentemente há a possibilidade de montar parte da memória RAM com os comandos
mkdir -p /tmp/ram
sudo mount -t tmpfs -o size=256M tmpfs /tmp/ram/

(fonte: http://www.ubuntuka.com/ubuntu-ramdisk-ramdrive-easy-way/)

3. Teste com o Terminal
No terminal coloquei o comando
google-chrome --user-data-dir="/tmp/ram/chrome"
Abriu o Chrome, sem nenhum dado de navegação, então o comando --user-data-dir="DRIVE:\DIRETÓRIO"  deu certo (chequei o diretório, que ficou cheio de arquivos)
Abri várias páginas ao mesmo tempo, vídeo no youtube, jogos de browser. Isso deixaria o Chrome travado por uns cinco minutos, mas eis que não travou. Então estou quase certo de que o comando mkdir -p /tmp/ram e o sudo mount -t tmpfs -o size=256M tmpfs /tmp/ram/ deram certo.

Resta agora a última dúvida: como fixar o comando abaixo na barra de aplicativos (não sei se é esse o nome) à esquerda?
google-chrome --user-data-dir="/tmp/ram/chrome"



P.S.: Se tudo der certo, recomendo fortemente esse método que estou usando a quem usa o Linux pelo pen drive, ou quem tem o HD muito lento, mas um pouco de RAM sobrando.

ninow

4. Final - Efetuando a troca definitiva de diretórios
Obs.: Antes de seguir esses passos é recomendável criar uma cópia de backup do arquivo /usr/bin/google-chrome o qual irá ser modificado. Também é recomendado seguir os passos com o Chrome fechado
Obs2.: O comando disk-cache-dir será utilizado no lugar do user-data-dir, pois enquanto o primeiro modifica apenas a pasta de temporários, o segundo cria um novo perfil no Chrome (novos favoritos, histórico, senhas etc.), e não é esse o objetivo
4.1 Primeiro escolha o diretório para os arquivos temporários do Chrome. No meu caso foi /tmp/ram/chrome/
4.2 Após isso use o comando abaixo no Terminal. Esse comando servirá para abrir o arquivo como root
sudo gedit /usr/bin/google-chrome
4.3 Localize a seguinte linha no arquivo
exec -a "$0″ "$HERE/chrome" "$@"
4.4 E coloque o comando --disk-cache-dir="DRIVE/DIRETÓRIO" no final da linha, no meu caso --disk-cache-dir="/tmp/ram/chrome
A linha ficou assim:
exec -a "$0" "$HERE/chrome" "$@" --disk-cache-dir="/tmp/ram/chrome"
4.5 Salve o arquivo e feche o Gedit
Agora é só usar o Chrome com seu novo diretório de arquivos temporários  ;D

O único inconveniente do ponto (post acima) é que a memória RAM deve ser montada toda vez que iniciar o sistema (não estou certo disso, pois não testei, mas suponho isso)

Bem, acabei criando um mini tutorial de como utilizar parte da memoria RAM para armazenamentos (várias utilidades, como conversão de videos mais rápidas, por exemplo) e de como modificar a pasta de arquivos temporários do Google Chrome para a pasta que quiser (por exemplo, para diminuir os ciclos em escrever/apagar dados em um SSD)
Só não gostei que ninguém postou nada para ajudar   :-[
Mas pelo menos consegui resolver meu problema, e isso é o que importa. Antes se eu clicava em cinco links simultaneamente demorava cerca de um minuto a abrir, agora é dez segundos ou menos (dependendo da página, é claro).

danielfilosofia

Ninow, sua solução é muito criativa! Não sou alguém que entende muito de linux, mas adoro ficar brincando!
Veja só: você deu um jeito de, mesmo com HD queimado, ter um computador funcionando e com internet funcional!
Muito bom!  :)

Abraços,

Daniel

Adriano R.N.

Veja se a dica abaixo deixa seu uso mais rápido.

http://ubuntuforum-br.org/index.php/topic,86964.0.html

Se você usar um pendrive grande 4 ou mais gb, dá para salvar conteúdos nele. Na hora de criá-lo deixe o "Armazenamento no máximo possível", com isso as mudanças aplicadas ficam registradas.
Já pensou em instalar direto no pendrive/cartão de memória como se fosse um hd? (um com 8gb seria ideal).
Se não me engano dá até para usar os dois, o pendrive com o sistema e o cartão como /home.
Boa sorte e Muito AXÉ!!!

ninow

Obrigado por responderem!
Eu já estava fazendo isso, usando o pendrive de 8 GB como "HD", com o máximo de espaço possível (4 GB) destinado a uso no Ubuntu. Só que navegar na internet com um sistema no pendrive tem dois problemas principais: a escrita, leitura e acesso a arquivos no pendrive é muito lenta, e o pendrive tem um número limitado de escrita e remoção de dados em cada setor, inutilizando-o ao atingir esse limite.
Como ao usar a internet estamos todo o tempo escrevendo, lendo e apagando arquivos, eu estava com esses dois problemas, e resolvi usar a memória RAM (muito mais rápida que a do pendrive, e sem os limites da memória flash) para manipular esses arquivos, e felizmente deu certo

alersson

um jeito fácil é instalar e usar o opera
ir em opera>configurações>preferências>avançado>histórico e colocar a opção cache de disco em nenhum.
http://www.opera.com/download/

usuario do linux desde 29/08/10; usuario do ubuntu desde 14/11/10; usuario do kde desde abril de 2011

irtigor

Não é a mesma coisa, você está eliminando o cache, quando a ideia aqui é ter ele na ram.

Metalbobolic

Daria para usar ela como swap??? e melhorar a perfomance do sistema como um todo??????????????????????????????????

irtigor

Dá, mas eu não vejo como isso melhoria a performance (no caso geral), se o seu sistema está usando a swap com muita memória ainda disponível, e você acha isso ruim, é possível trocar o valor do swappiness: https://help.ubuntu.com/community/SwapFaq#What_is_swappiness_and_how_do_I_change_it.3F

Metalbobolic

Citação de: irtigor online 25 de Maio de 2012, 14:20
Dá, mas eu não vejo como isso melhoria a performance (no caso geral), se o seu sistema está usando a swap com muita memória ainda disponível, e você acha isso ruim, é possível trocar o valor do swappiness: https://help.ubuntu.com/community/SwapFaq#What_is_swappiness_and_how_do_I_change_it.3F

Meu sistema usa pouca swap, aliás, pouquissima...

Mais eu uso maquina virtual..que é a única hora que usa mais swap.....gostaria de saber como faz para usar a ramdisk...

Tem um tutorial em inglês aqui..rapido..fácil e ultra explicado..mais diz que poderá ter erro na inicialização...mais não explica como resolver isso....


zhafual

Linux pelo pen drive, ou quem tem o HD muito lento, mas um pouco de RAM sobrando.

ninow

Metalbobolic
Eu imagino que o swap só seja usado quando a memória física estiver cheia (posso estar errado). Com isso, mudar parte da memória de swap para a memória física não ajudaria, pois a memória física encheria mais rápido, direcionando o uso da memória para o swap.

Adriano R.N.
O Ubuntu já estava no pendrive. Apesar de não estar instalado propriamente dito, pois rodava de uma iso criada pelo Criador de discos de inicialização do Ubuntu, o único inconveniente disso era a demora pra inicializar (uns 5 minutos). Depois disso ele rodava normal. O problema era apenas para navegar na internet, pois há muita atividade de disco (leitura, gravação), o que diminui a vida útil do pendrive, além de ser muito lento.
A propósito, comprei um HD novo, só uso esse guia quando inicio o sistema pelo pen drive em máquinas para manutenção.