Tunando o ext4 para Desempenho! Revisto, ampliado e ainda mais rápido e seguro!

Iniciado por galactus, 29 de Agosto de 2010, 02:04

tópico anterior - próximo tópico

Tupac


Tupac

Boa noite, galera.

Fiz a instalação do LXLE (derivado do Lubuntu), em uma máquina bem antiga da minha sogra, seguindo as orientações deste tópico relacionado a melhoria usando journal interno, bem como algumas orientações do tópico http://ubuntuforum-br.org/index.php/topic,105729.0.html.

A máquina está voando. Abre o libreoffice quase instantaneamente, o gerenciador de arquivos, o navegador. Ficou muito rápido. Mais rápido do que meu note com um P6100, 2GB de RAM, 128MB ou 64MB (não lembro) da linda Intel Graphics hehe... No meu note eu só fiz os procedimentos após instalação, sem mexer no journal etc. Com certeza o ganho é absurdo.

Descrição da máquina:

Processador: VIA C7-M 6300MHz
Memória: Acho que 1GB, mas o sistema lista 950MB mais ou menos. Não consegui localizar aqui, mas acho que é DDR2 (dmidecode não reconhece o tipo).
HD: 160GB ATA SAMSUNG HD161GJ

O que fiz (por alto):
1- Separei o HD em três partições, usando o cfdisk, uma pra SWAP, uma pra / e uma pra /home.
2- Formatei seguindo os passos do journal interno, executando o comando tanto para / quanto para /home. Coloquei a capacidade para 400 do journal interno.
3- Mandei instalar apontando como descrito para as minhas partições e boa.
4- Mexi no fstab e no grub, aumentei quantidade de requisições suportadas etc.
5- Algumas outras modificações, como tirar o logo do libreoffice etc.
6- Instalei o low-latency, pra dar o toque final.

Pois bem, o sistema tá voando, muito rápido na maioria dos comandos.

Acontece que, apesar de grande parte do sistema estar simplesmente fantástico em termos de performance, quando acesso o youtube o processador vai pra 100% e não sai. A memória fica em consumo baixo, tranquilona, mas o processador fica full power o tempo todo, até o vídeo acabar. Isso faz com que usar outros aplicativos ou outra aba do navegador (chrome) seja inviável. Além do vídeo ficar em alguns momentos como em camera lenta e em outros dando umas travadinhas. Caso não se manipule mais pra nada a máquina, aí o vídeo pode rolar normalmente durante um tempo, mas sempre alternando entre a camera lenta e as travadinhas.

Não sei como era o sistema antes, ao assistir vídeos do youtube com o windows xp sem vírus, pois peguei a máquina com um windows xp cheio de vírus e derivados, fazendo com que o sistema travasse pouco depois de iniciar e sendo extremamente dificil executar qualquer coisa. Por isso não sei se essa já era uma limitação do processador ou se foi devido as alterações feitas.

Já que esse computador provavelmente não será utilizado pra muita coisa, apenas talvez pra usar um libreoffice (o que está sendo executado lindamente rápido) ou navegar um pouco na net (já deixarei avisado que youtube é fora de cogitação). Dessa forma não vou reinstalar modificando os padrões de journal. Mas como existe um aviso de que journal interno com 400 e processadores fracos não é um bom casamento, resolvi prestar meu depoimento sobre a situação.

Valeu galera.


p.s.: Instalei o LXLE porque com Ubuntu e Lubuntu ocorria um problema com o Xserver, o modo gráfico não carregava. As novas versões não suportavam o controlador de vídeo do pc (uma VIA que só serve pra dar problema). Encontrei no LXLE a minha salvação.

p.s.2: Com o firefox a CPU consegue abaixar um pouco o consumo, variando entre 86% a 98%, em alguns poucos pontos indo a 100%. No geral um desempenho melhor que o Chrome.

p.s.3: O minitube roda os vídeos do youtube de boa. O processamento fica em torno de 50% pra menos na maior parte do tempo.

galactus

Nossa Tupac, você tá tirando leite de pedra!  ;D ;D ;D

Que ótimo que as alterações surtiram um bom efeito pra você!

Ficar melhor que isso só usando Debian + LXDE + JFS + kernel 486!

Eu te indicaria o Opera como navegador ou o Chromium. O Opera consome menos recursos dos "grandes" navegadores. Infelizmente a sua versão 32bits ainda é a 12, para 64bits está na 26. Acho que vale apena testar.

Estas travadas com vídeos do Youtube são normais com este processador, meu Pai tem um desses em casa com XP, ele se recusa a mudar de sistema, tá todo bichado, o processador fica em 100% quase o tempo todo, se arrasta pra tudo. Se tivesse falado que ia instalar neste processador tão fraco teria falado outras dicas a serem feitas durante e pós a instalação do sistema. Mas se tá tudo funcionando a contento, ótimo!

Obrigado pelos comentários.

BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Tupac

Boa madrugada, galera.

Galactus, conta aí quais são essas dicas a mais, pra já ficar registrado para as próximas vezes, hehe...

Fiz uma nova instalação, novamente seguindo os passos dos tutoriais, agora instalando o Lubuntu 14.04 na seguinte máquina:

Positivo Z62
Celeron 560
RAM 1GB (acho que não é DDR3, já que não é SDRAM, mas sim DRAM. Imagino que seja DDR2).
HD de 120GB
Placa de vídeo interna da SiS 671/771 - que precisou de configurações para exibir resoluções diferentes de 640x480 (postei a solução neste tópico - http://ubuntuforum-br.org/index.php/topic,112445.0.html).


Bixinho ta tinindo... Dá uma sensação tão gostosa ver o desempenho de um troço véio, mas que bate em muito "windows 8" de pc top por ae hehehe...
Mais uma vez, muito obrigado por ter compartilhado maravilhosamente essas informações.

p.s.: Agora é a vez do meu Dell, que voltou tranquilo do conserto, nesse vou abusar um pouco mais de algumas instruções do seu tutorial, além de testar o pf-kernel e o liquorix pra ver se fica melhor que o low latency.

Um dia quero trocar meu hd fraco por um SSD, aí o bicho vai pegar hauhauha...

edit: No celeron, os vídeos do youtube também fazem o processador ficar em 100% all the time. Esse computador, com windows, conseguia rodar uns vídeos tranquilamente. Agora, ele roda de boa, sem os travamentos da outra máquina que fiz anteriormente, porém a CPU fica em 100% e tentar fazer outra coisa pesa...

edit 2: Testes com firefox e chrome, simplesmente horríveis. Os piores desempenhos. É possível ver alguns vídeos, mas é colocar o vídeo e não fazer mais nada. O Midori me surpreendeu, rodou muito melhor que os dois primeiros, e o vídeo ficou bom de assistir, porém cai no mesmo problema de só fazer isso. O último navegador testado foi o qupzilla, foi parecido com o Midori. No começo achei até que seria o melhor, porque a CPU baixou pra 60% e depois deu uma variada entre 80 e 82%, mas com o avançar do video foi pra 100 e ficou variando pra 98. Em tela cheia nem pensar.

Minha sogra curte jogar bobeiras naquele site com nome de rei, mexer no facebook e ver vídeo. Com o sistema do jeito que tá, apesar de estar um foguete pra quase tudo, não sei se vai dar certo, porque as funções que ela mais precisa deixa a desejar. Acho que vou ter que desfazer as melhorias e deixar o lubuntu praticamente original, só pra ela navegar mesmo a resposta do sistema seja lenta pra abrir as coisas etc., não vai comprometer a rotina dela.

Edit 3: Desfiz as melhorias e reinstalei o lubuntu seco. Houve uma melhora na execução de vídeos, porém, diferente do que imaginei, o problema não estava tanto nas modificações, mas sim no próprio processador que não aguenta essas versões modernas dos navegadores (e sites como youtube). O processamento continuou variando entre 100 e um pouco menos. Devia ter deixado com as melhorias, pelo menos o restante tava voando hehe.



galactus

Obrigado pelas considerações Tupac!

Eu já estou upando um Vídeo com um sistema que recebi como um desafio, o processador é fraco e o usuário não abre mão que seja o Unity!   Já viu né!

Mas é como você percebeu, os recursos exigidos para executar um vídeo no Youtube em 720p são muito altos, em 1080p nem se fala. Meu A10 7850k com o Driver da ATI instalado usa 16-20% dos 4 núcleos em qualquer vídeo em 1080p do Youtube, com qualquer navegador moderno atualizado, Chrome, Firefox ou Opera.

Mais uma vez te digo que não usaria ext4 nesses processadores limitados para as tarefas de hoje. Mas é bom que esteja tendo bons resultados.

Depois que subir o vídeo eu aviso.

Há sim, se tiver  instalado o driver proprietário com o kernel padrão do Ubuntu e depois instalar um dos kerneis experimentais, reinstale o driver proprietário, o desempenho fica horrível se não remover ou reinstalar o driver proprietário.
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

galactus

BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Tupac

Poxa, Galactus. Para a configuração, ficou bem bom o desempenho. E eu duvido muito, mudando de unity pra KDE, Lubuntu, Xubuntu, etc., que esse processamento de CPU ao assistir vídeos ficasse muito diferente.

Nossa, nem sabia dessa dos drivers. Mas agora já nem faz diferença porque fiz uma instalação limpa do Lubuntu e entreguei sem muita coisa, fiz, sei lá, um preload, etc.

O mais doido é que localmente a máquina voa, libreoffice, gimp, inkscape, minitube, gerenciador de arquivos e pastas, abrir chrome, firefox, pdf, abrir vlc, iterar imagens... Voa! Mas na hora que chega na web aí vira uma carroça sem salvação.

Bom, vou parar de sofrer por ter falhado com os pcs da minha sogra e vou formatar meu dell colocando essas dicas aqui porque no dell a história será muito diferente. Aí vou recuperar minha autoestima hehehe...

Valeu, galactus. Tamo ae em que for possível. Abraços.

Tupac

Boa noite, pessoal!

Fiz essa pergunta para o galactus e como é uma pergunta que pode ajudar a comunidade, ele me orientou a refazê-la aqui, pois bem:

Eu gostaria de saber se existe alguma forma de saber o tamanho que foi configurado para o Journal. Dei uma procurada e não achei confiável as orientações que encontrei. Portanto, vim perguntar pro guru (galactus) hehe... Claro, qualquer amigo forista que souber e se dispuser a ajudar, aceito e agradeço enormemente.

Valeu!

galactus

Citação de: Tupac online 28 de Janeiro de 2015, 20:57
Boa noite, pessoal!

Fiz essa pergunta para o galactus e como é uma pergunta que pode ajudar a comunidade, ele me orientou a refazê-la aqui, pois bem:

Eu gostaria de saber se existe alguma forma de saber o tamanho que foi configurado para o Journal. Dei uma procurada e não achei confiável as orientações que encontrei. Portanto, vim perguntar pro guru (galactus) hehe... Claro, qualquer amigo forista que souber e se dispuser a ajudar, aceito e agradeço enormemente.

Valeu!


Olá Tupac, tem duas maneiras de saber disso, a mais simples e direta é essa:

sudo dumpe2fs /dev/sua_partição  | grep Journal



Como exemplo a saída do comando no meu Note:


root@galactus-Movel:/home/galactus# dumpe2fs /dev/sda7 |grep Journal                                                                                                                            
dumpe2fs 1.42.10 (18-May-2014)                                                                                                                                                                  
Journal inode:            8
Journal backup:           inode blocks
Journal features:         journal_incompat_revoke
Tamaho do Journal:             8M
Journal length:           8192
Journal sequence:         0x000001d9
Journal start:            1
root@galactus-Movel:/home/galactus#  



Não se espante com o tamanho deste Journal, é apenas da minha partição /boot que tem menos de 500MB.


Vou atualizar o Tutorial no final de semana! Tem coisas novas, algumas mudaram, outras melhoraram, novas opções de tunagem. Vou aproveitar e colocar essa dica acima junto com a segunda maneira de descobrir o tamanho do Journal.

Espero ter ajudado!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Tupac

Maravilha, muito obrigado pela ajuda, mais uma vez e estou ansioso pelas atualizações no tutorial. Tenho aprendido muito com suas contribuições.

Abraços.

lotavio

Qual tipo de tune ext4 recomendado para diretório de /boot de 512MB ?
O restante dos diretórios vão ser em XFS

galactus

Citação de: lotavio online 23 de Abril de 2015, 23:24
Qual tipo de tune ext4 recomendado para diretório de /boot de 512MB ?
O restante dos diretórios vão ser em XFS

Eu deixo na formatação padrão mesmo, só altero alguma coisa no fstab, tipo colocar um noatime. Só. Isso quando coloco essa partição separada. Nos meus desktop eu não separo essa partição.
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Grinder

Muito bom o tópico @galactus em ensinou um bucado a respeito de ext4

Na verdade encontrei esse tópico quando eu estava procurando alguma forma de aumentar a velocidade do meu SSD no Linux.
Possuo um Crucial M4 120GB há mais de 2 anos mas ele está firme e forte.

Nesses meus testes foram incluídos F2FS,JFS e EXT4, mas acabei optando pelo ext4 mesmo.

Antes de começar as suas dicas eu fiz isso:
http://www.anandtech.com/show/2738/11

Aqui um breve resumido bem sem vergonha, eu tinha feito um bem mais completo com comandos de DD e HDPARM mas acabei perdendo.

Somente com discard e noatime (EXT4)

Dota pela 1a vez = 17,5s
Dota pela 2a vez = 16s
Extração do Arquivo = 1min 11s
Envio do Arquivo para mesma partição = 12s
Envio do Arquivo para outra partição = 6s

Sem discard e com noatime,barrier=0,nobh

Dota pela 1a vez = 18s
Dota pela 2a vez = 17s
Extração do Arquivo = 1min 9s
Envio do Arquivo para mesma partição = 8s
Envio do Arquivo para outra partição = 6s

Sem discard e com noatime,barrier=0,nobh e as otimizações de diretório
e adicionado os comandos de write-back (sem mexer no fstab e grub)

Dota pela 1a vez = 17,6s
Dota pela 2a vez = 16s
Extração do Arquivo = 1min 14s
Envio do Arquivo para mesma partição = 8,5s
Envio do Arquivo para outra partição = 6s

Agora completo, do jeito que está no tutorial com todas as opções.

Dota pela 1a vez = 18s
Dota pela 2a vez = 16s
Extração do Arquivo = 1min 14s
Envio do Arquivo para mesma partição = 8,4s
Envio do Arquivo para outra partição = 7s


Enfim, pelo o que eu vi em SSD a diferença é pequena em questão de performace, mas achei interessante pelo lado da vida útil dele, afinal o meu aqui já tem 2 anos e alguns meses hehe.

Mas eu fiquei com dúvidas galactus, ou qualquer outra pessoa que souber me responder.

1) Quando eu formato uma partição pelo instalador do Linux ou somente com o comando mkfs.ext4 ela já vem com jornal? Se sim, de qual tipo? Se não, você adiciona ela no tutorial, mas porque?

2)  Quando eu uso esse comando "mke2fs -t ext4 -O dir_index,extent /dev/sda1" para antes da formatação ou esse "tune2fs  -O dir_index /dev/sdxy" para após formatação comum. E esse "tune2fs -o journal_data_writeback /dev/sda1" eles ficam salvo diretamente na partição ou fica salvo no sistema?

Quanto a segunda pergunta deixa eu explicar bem direitinho.
Eu tenho 3 partições EXT4
SDA5 -> / root
SDA6 -> /home/backup
SDA7 -> /home/games

Pergunto isso porque eu formato direto o Linux e nesse processo sempre formato a partição " / " (sda5) mas não formato a partição sda6 e nem sda7, eu apenas monto elas após formatado.

A minha segunda pergunta se refere as partições SDA6 e SDA7 e não a SDA5 que eu formato ela na instalação do Linux e essa  provavelmente é perdida todas as otimizações.

Então reformulando a 2a pergunta

Fiz os procedimentos:
mke2fs -t ext4 -O dir_index,extent /dev/sda6
e depois
tune2fs -o journal_data_writeback /dev/sda6

Depois que fiz isso, eu fomatei o meu Linux (sda5) e reinstalei meus programas e tudo e montei a partição SDA6 no meu novo Linux. Queria saber se minha partição SDA6 aonde fiz os comandos acimas estarão ainda com essas configurações ou se perde elas quanto eu reinstalo o sistema.

galactus

Citação de: Grinder online 17 de Julho de 2015, 17:14
1) Quando eu formato uma partição pelo instalador do Linux ou somente com o comando mkfs.ext4 ela já vem com jornal? Se sim, de qual tipo? Se não, você adiciona ela no tutorial, mas porque?

2)  Quando eu uso esse comando "mke2fs -t ext4 -O dir_index,extent /dev/sda1" para antes da formatação ou esse "tune2fs  -O dir_index /dev/sdxy" para após formatação comum. E esse "tune2fs -o journal_data_writeback /dev/sda1" eles ficam salvo diretamente na partição ou fica salvo no sistema?

Quanto a segunda pergunta deixa eu explicar bem direitinho.
Eu tenho 3 partições EXT4
SDA5 -> / root
SDA6 -> /home/backup
SDA7 -> /home/games

Pergunto isso porque eu formato direto o Linux e nesse processo sempre formato a partição " / " (sda5) mas não formato a partição sda6 e nem sda7, eu apenas monto elas após formatado.

A minha segunda pergunta se refere as partições SDA6 e SDA7 e não a SDA5 que eu formato ela na instalação do Linux e essa  provavelmente é perdida todas as otimizações.

Então reformulando a 2a pergunta

Fiz os procedimentos:
mke2fs -t ext4 -O dir_index,extent /dev/sda6
e depois
tune2fs -o journal_data_writeback /dev/sda6

Depois que fiz isso, eu fomatei o meu Linux (sda5) e reinstalei meus programas e tudo e montei a partição SDA6 no meu novo Linux. Queria saber se minha partição SDA6 aonde fiz os comandos acimas estarão ainda com essas configurações ou se perde elas quanto eu reinstalo o sistema.

Então Grinder, respondendo na ordem:

1) A formatação seja feita pelo instalador gráfico ou com o comando mkfs.ext4  já vem com journal! Ele usa como padrão o journal Ordered.   Como explico no tutorial ainda existem mais duas opções de journal. Se quiser usar as outras duas opções você deve alterá-las manualmente no Ubuntu.  O Suse permite mudar isso no seu instalador gráfico. E claro, se quiser mesmo viver perigosamente, você ainda pode desativar o journal! Opção essa que eu não recomendo mesmo, mas se quiser testar...

2) Os comandos mkfs e tune2fs são  aplicados no sistema de arquivos da partição em questão do seu disco rígido ou SSD.  Então não vai afetar o sda6 e sda7 o fato de você ter formatado o sistema do sda5!

O que muda,  ou como você referiu acima "perde",  são as opções de montagem que ficam no fstab ou qualquer outra opção de tunagem que você use no sysctl.conf rc.local ou nos arquivos dentro da pasta /sys/block/sda/queue/

Então a cada nova formatação você deve recolocar  as tunagens destes arquivos, evidentemente se você usar tunagens nestes vários arquivos.  Mas o que você alterou com os comandos mkfs e tune2fs não mudaram!




Agora quanto aos seus testes. Deixa ver se entendi, você aumentou o journal?  Você colocou o Journal em outro disco rígido?  Muitas das opções de formatação do mkfs.ext4 agora são padrões.  Os tutoriais que li para tunar o SSD envolve mais o uso do TRIM ou discard, reserva de blocos não formatados e  uso da opção noatime no fstab!  Só!

O que estão fazendo para melhorar muito o desempenho é usar um SSD como journal dos HDs tradicionais com pratos magnéticos!  Com SSD a coisa muda pois não existem partes móveis, são bancos de memória. Então realmente faz sentido as opções usadas para HDs tradicionais as vezes não funcionarem direito no SSD. Mas é ótimo você testar mesmo. Para tirar a dúvida!

E no hdparm? Piorou ou melhorou?   Outra coisa, o Dota tá instalado  no SSD?   
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Grinder

Citação de: galactus online 18 de Julho de 2015, 09:34
Então Grinder, respondendo na ordem:

1) A formatação seja feita pelo instalador gráfico ou com o comando mkfs.ext4  já vem com journal! Ele usa como padrão o journal Ordered.   Como explico no tutorial ainda existem mais duas opções de journal. Se quiser usar as outras duas opções você deve alterá-las manualmente no Ubuntu.  O Suse permite mudar isso no seu instalador gráfico. E claro, se quiser mesmo viver perigosamente, você ainda pode desativar o journal! Opção essa que eu não recomendo mesmo, mas se quiser testar...

2) Os comandos mkfs e tune2fs são  aplicados no sistema de arquivos da partição em questão do seu disco rígido ou SSD.  Então não vai afetar o sda6 e sda7 o fato de você ter formatado o sistema do sda5!

O que muda,  ou como você referiu acima "perde",  são as opções de montagem que ficam no fstab ou qualquer outra opção de tunagem que você use no sysctl.conf rc.local ou nos arquivos dentro da pasta /sys/block/sda/queue/

Então a cada nova formatação você deve recolocar  as tunagens destes arquivos, evidentemente se você usar tunagens nestes vários arquivos.  Mas o que você alterou com os comandos mkfs e tune2fs não mudaram!


Agora quanto aos seus testes. Deixa ver se entendi, você aumentou o journal?  Você colocou o Journal em outro disco rígido?  Muitas das opções de formatação do mkfs.ext4 agora são padrões.  Os tutoriais que li para tunar o SSD envolve mais o uso do TRIM ou discard, reserva de blocos não formatados e  uso da opção noatime no fstab!  Só!

O que estão fazendo para melhorar muito o desempenho é usar um SSD como journal dos HDs tradicionais com pratos magnéticos!  Com SSD a coisa muda pois não existem partes móveis, são bancos de memória. Então realmente faz sentido as opções usadas para HDs tradicionais as vezes não funcionarem direito no SSD. Mas é ótimo você testar mesmo. Para tirar a dúvida!

E no hdparm? Piorou ou melhorou?   Outra coisa, o Dota tá instalado  no SSD?   

Muitíssimo obrigado, tirou as dúvidas que eu tinha.

1- Me desculpe não fui muito específico na hora de explicar os testes, eu apenas colei um .txt que eu tinha feito aqui rs.
Mas te respondendo, não, não mexi com journal em outra partição e nem de aumentar o tamanho dela.

2-Mas realmente após tudo, concordo com você, acho que o ideal para SSD é somente o discard para o trim, noatime para não judiar muito dele e o barrier=0 é interessante também e só.

Senão me engano aumentou um pouco sim no hdparm, no caso melhorou. Dota2 está no SSD
Lembro que quem gostou do HDPARM no SSD aqui foi o JFS, coisa de 30 ou 40mb/s a mais :)

Edit:
Testei o Dota2 novamente, o tempo de carregamento dele pela primeira vez caiu de 17s para 15.5s é um tempo significativo se tratando que não mudei nenhuma peça do meu computador, apenas otimizando :-0

Passei um HDD Erase no meu SSD também pra dar uma ajudada.