Como otimizar o sistema operacional para SSDs?

143

Quais passos devem ser tomados antes / durante / após a instalação do Ubuntu em um Solid State Drive para otimizar o desempenho e garantir a máxima durabilidade da unidade?

    
por Lars Haugseth 06.08.2010 / 16:03

13 respostas

106

Eu usei com sucesso várias técnicas diferentes para melhorar a maneira como o Ubuntu usa o dispositivo de armazenamento, seja em estado sólido ou tradicional.

Para SSDs, você procura minimizar o número de vezes que a unidade é gravada, já que as leituras não devem adicionar desgaste à unidade.

1) Gerencie o arquivo de troca

Se você não hibernar seu computador e tiver uma ampla memória RAM para rodar todos os seus aplicativos, então, teoricamente, você não precisa de uma partição swap.

Se você tiver uma combinação de SSDs e discos rígidos, coloque sua partição de swap somente nos discos rígidos.

2) Não há gravações para leitura de registros de data e hora (adequado para SSDs e discos rígidos)

Montar suas partições com as opções noatime e nodiratime interromperá gravações de timestamp quando você ler arquivos e pastas. Geralmente, essas gravações de registro de data e hora não são necessárias, a menos que você use um cliente de servidor de correio local, como o mutt. A razão pela qual isso geralmente é uma má ideia, é porque cada leitura produzirá uma gravação ao atualizar os timestamps. Isso diminui a vida útil do SSD.

Edite seu arquivo de configuração / etc / fstab (cuidadosamente - faça um backup para ter certeza de que quebrar sua configuração do fstab pode impedir que o sistema funcione):

cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab

Edite as opções de montagem para suas partições adicionando o texto noatime e nodiratime às linhas que definem sua raiz (/) e outras partições se você as tiver (/ home) - Nota: se você tiver uma partição / home , comece com isso apenas mudando a partição se você está preocupado em quebrar alguma coisa

# / was on /dev/sda2 during installation
UUID=587e0dc5-2db1-4cd9-9792-a5459a7bcfd2 /               ext4    noatime,nodiratime,errors=remount-ro 0       1

# /home was on /dev/sda3 during installation
UUID=2c919dc4-24de-474f-8da0-14c7e1240ab8 /home           ext4    noatime,nodiratime,defaults        0       2

Você precisará reinicializar sua máquina antes que essas alterações entrem em vigor

3) Minimizando gravações do sistema operacional e aplicativos

Supondo que você não esteja executando um servidor de produto de missão crítica, a maioria das pessoas não examinará os logs se algo der errado (especialmente porque erros sérios são raros para a maioria dos usuários do Ubuntu). Portanto, você pode configurar o Ubuntu para que todos os registros sejam gravados na memória RAM e não no SSD.

Nota: faça as seguintes alterações somente quando tiver instalado todos os softwares que você vai usar (especialmente coisas como o servidor web Apache), caso contrário você pode ter alguns problemas com diretórios ausentes em / var / log

Para informações básicas sobre essa abordagem, consulte prolongar a vida útil do seu pendrive na ubuntu- eee.com

Abra / etc / fstab com um editor (supondo que você tenha feito o backup do arquivo / etc / fstab)

gksudo gedit /etc/fstab

Adicione as seguintes linhas no final do arquivo fstab e salve:

# Uncomment these after all server based applications installed - eg. apache
#tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
#tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
#tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0 
#tmpfs /var/log/apt tmpfs defaults,noatime 0 0
# none /var/cache unionfs dirs=/tmp:/var/cache=ro 0 0

Você precisará reinicializar sua máquina antes que essas alterações entrem em vigor

Veja também:

por jr0cket 08.08.2010 / 15:09
90

Vida SSD

Geralmente eu não me incomodo - as preocupações com a vida SSD são exageradas. Você pode ler este artigo detalhado sobre por que você realmente não deveria se preocupar . Em suma, o circuito dentro dos modernos SSDs gerencia o nivelamento de desgaste para você, e eles sabem como fazê-lo muito melhor do que você.

No artigo, há um cálculo da vida útil de um SSD que recebe gravações em uma taxa contínua de 80M / s. A vida é 51 anos . Isso é baseado na tecnologia de 2007 - a vida do SSD será maior agora. E você quase certamente não escreve no seu SSD a 80M / s 24 horas por dia.

Desempenho SSD

No entanto, a degradação do desempenho ao longo do tempo pode ser um problema, e TRIM é a solução. Existem duas opções

  • TRIM automático / online, também conhecido como descarte
  • manual TRIM

Você precisa ativar o TRIM automático . (Basicamente, você adiciona a opção discard às suas opções de montagem, desde que esteja usando o ext4.) Encontrei uma postagem no blog informando que a opção de descarte diminui o seu sistema ao excluir arquivos .

Você pode ocasionalmente fazer isso manualmente (ou em um cron job) usando fstrim . Se você tiver apenas uma partição, tudo o que você precisa fazer é:

sudo fstrim /

Note que o fstrim só está disponível em 11.10 e mais recente. Para sistemas mais antigos, você precisará do script wiper.sh . Eu encontrei o script em /usr/share/doc/hdparm/contrib/wiper.sh.gz no meu sistema.

Se você está se perguntando, o problema que o TRIM resolve, como descrito pela Wikipedia , é:

% bl0ck_qu0te%     
por Hamish Downer 08.08.2010 / 21:03
20

Existem vários pontos:

Alinhamento:

O que é frequentemente apontado é o alinhamento correto da partição. Isso deve ser igual ao tamanho do bloco do SSD. Jogue com segurança e torne suas partições alinhadas aos limites do MiB. Note que você não pode fazer isso com a ferramenta de partição do instalador do Ubuntu (que usa MB não MiB), mas você pode inicializar o Live CD, usar o Gparted (que usa MiB) e clicar em Instalar para usar as partições que você configurar. / p>

O agendador certo:

Um ponto importante é o programador que deve ser noop . Você pode definir esse agendador via kernelparameter elevator=noop ou por meio de uma entrada echo noop > /sys/block/sda/queue/scheduler em seu rc.local.

Mountflags:

Eu recomendaria noatime e discard

Tmpfs

Para colocar o tmp em um ramdisk pode aumentar o tempo de vida do ssd. Para usar isso, coloque a seguinte linha no seu fstab: none /tmp tmpfs defaults 0 0

Geralmente, se você quiser mergulhar mais fundo neste tópico, eu recomendo este excelente artigo wiki.

    
por Sebastian Rühl 03.02.2011 / 22:28
16

Curso de ajuste rápido para o seu SSD no Ubuntu:

sistema de arquivos

Arch wiki menciona algumas opções preferíveis para o sistema de arquivos SSD - um deles é instável, outros são ext *. Presumo que ext4 seja uma das melhores escolhas.
Nota: No caso de ext4 você pode querer usar a opção discard mount.

fstab

# <file system> <mount point> <type> <options>                                  <dump>  <pass>
proc            /proc         proc   nodev,noexec,nosuid                        0       0
tmpfs           /tmp          tmpfs  nodev,nosuid,noatime,mode=1777             0       0
/dev/sda1       /             ext4   defaults,noatime,discard,errors=remount-ro 0       1
/dev/sda2       /home         ext4   defaults,noatime,discard,user_xattr        0       2
/dev/sda3       /windows      ntfs   defaults,noatime,discard,umask=007,gid=46  0       0

Algumas coisas importantes aqui são:

  • Para sistemas com > = 2 GB de memória, a localização / tmp na RAM é desejável.
  • Não há swap partition. Hoje em dia é necessário apenas para hibernação, já que as máquinas modernas têm uma quantidade muito grande de RAM.
  • noatime e discard opções. As informações são aqui .

programador

Considere a mudança do agendador padrão, que na maioria das distribuições Linux é cfq (filas completamente justas), para o agendador noop ou prazo para um SSD. O uso do noop scheduler, por exemplo, simplesmente processa solicitações na ordem em que são recebidas, sem dar qualquer consideração sobre onde os dados residem fisicamente no disco. Esta opção é considerada vantajosa para SSDs, uma vez que os tempos de busca são idênticos para todos os setores no SSD.

Adicione o seguinte a /etc/rc.local :

# SSD performance tuning
echo noop > /sys/block/sda/queue/scheduler

info

um dois

    
por Andrejs Cainikovs 09.12.2011 / 18:24
8

4) ativar o TRIM

automático

Se o seu SSD for compatível, você também deve ativar o TRIM automático (conforme descrito aqui )

    
por Uli 31.12.2010 / 00:37
3

Eu não adicionaria essa linha ao seu fstab, a pasta var / tmp serve para sobreviver às reinicializações e isso pode causar problemas para você.

tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0

Quando eu configuro o novo sistema, deixo toda a pasta tmp comentada desta forma, se algo acontecer, posso verificar os logs e outras coisas. Então, uma vez que eu tenha a configuração principal do sistema, eu irei comentá-los, mas eu nunca adiciono a linha acima, aqui está o que eu uso:

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0 
tmpfs /var/log/apt tmpfs defaults,noatime 0 0

E se estou tendo algum problema com o meu sistema, comento-os para verificar tudo, mesmo após uma reinicialização ou reinicialização forçada após um bloqueio.

Além disso, você não precisa de um nodiratime, a opção noatime cuida dos dois por si só.

Quanto ao TRIM, se o seu hw / sw suportá-lo, é uma obrigação, eu não uso descartar no fstab. Eu crio um cron diário, porque meu PC está sempre ligado, fazendo isso:

gksu gedit /etc/cron.daily/trim

Em seguida, adicione isso ao arquivo e salve (Se você não tiver uma partição / home separada no ssd, ou tiver outras partes que estão no ssd, você deve ter a idéia de como modificar isso:

#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG

Em seguida, torne o arquivo executável por:

sudo chmod +x /etc/cron.daily/trim

Eu também edito meu rc.local assim:

gksu gedit /etc/rc.local

Adicione isto acima "exit 0" e abaixo do último #:

# Modification for SSD
# you may want to add more folders to be checked/created to this list
for dir in apparmor apt ConsoleKit cups dist-upgrade fsck gdm installer news ntpstats samba speech-dispatcher unattended-upgrades; do
  if [ ! -e /var/log/$dir ] ; then
    mkdir /var/log/$dir
  fi
done

Você pode copiar e colar a partir daqui para que não haja erros, para o leigo parece fora do whack, não é.

Eu também li que deixar 10% da sua unidade ssd sem formatação pode ajudar a prolongar a vida, que ainda precisa ser visto. Eu não li muito sobre isso, então não posso garantir se faz sentido fazê-lo.

Este é o melhor guia em todo o mundo, ele não procurou o Google por um dia e, depois, criou um guia, você deve conferir AQUI

    
por JohnRB 29.07.2013 / 00:53
3

TRIM permite que um sistema operacional informe a um SSD quais blocos de dados não são mais considerados em uso e podem ser apagados internamente. O corte permite que o SSD manipule a sobrecarga da coleta de lixo, o que de outra forma retardaria significativamente as futuras operações de gravação para os blocos envolvidos, com antecedência. 1

No Ubuntu 14.04, um novo recurso foi adicionado ao pacote util-linux que corta os SSDs automaticamente, mas somente os SSDs Intel e Samsung têm o TRIM habilitado por padrão, porque alguns SSDs baratos podem até mesmo tijolo se ao executar TRIM. 2 O conteúdo de /etc/cron.weekly/fstrim no Ubuntu 14.04:

#!/bin/sh
# call fstrim-all to trim all mounted file systems which support it
set -e

# This only runs on Intel and Samsung SSDs by default, as some SSDs with faulty
# firmware may encounter data loss problems when running fstrim under high I/O
# load (e. g.  https://launchpad.net/bugs/1259829). You can append the
# --no-model-check option here to disable the vendor check and run fstrim on
# all SSD drives.
exec fstrim-all

1 link
2 Como Trim está ativado?

    
por karel 25.12.2013 / 02:52
2

É claro que /var/tmp não deve estar no tmpfs, pois, por definição, o conteúdo precisa ser preservado além das reinicializações:

  • Diferenças entre o TMP e o VarTMP
por user95602 09.10.2012 / 18:12
2

Ok "longa história curta":

  1. Sim. É como um disco rígido normal. Aqui é uma boa visão geral.
  2. Alguns extras especiais que eu cobrirei.
  3. Muito bom. Eu uso com um servidor.

Formate como ext4 durante a instalação e crie um pequeno swap ~ 1 GB. Depois de instalar, edite fstab com sudo gedit /etc/fstab e adicione a seguinte linha

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

Isso criará uma ramdrive para seus arquivos temporários, o que diminuirá o tempo de duração. Adicione também noatime,nodiratime,discard à sua linha ext4 após os padrões. Isso também diminuirá o desgaste e ativará a função TRIM. Salve e reinicie.

    
por gajdipajti 24.04.2012 / 00:06
2

Existem algumas boas informações Como ajustar e otimizar o SSD para o Ubuntu, Linux Mint de link você pode estar interessado em

Use o pré-carregamento

Para instalar o pré-carregamento no Ubuntu, Linux Mint ou distribuições baseadas no Debian

# apt-get update && apt-get install preload

Desligue o seu swap

Para alterar a configuração do swappiness:

$ su -
# nano /etc/sysctl.conf

E adicione essa linha no arquivo sysctl.conf.

vm.swappiness = 10
    
por Sue Russell 09.11.2013 / 19:58
2

O no-break é obrigatório. No arquivo /etc/sysctl.conf

vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10

Encontre o daemon do arquivo de configuração, geralmente /etc/syslog.conf или /etc/rsyslog.d/ e todos os caminhos do formulário /var/log/ alteram escrevendo um sinal de menos ("-") na frente das formas. mail.err

/var/log/mail.err

Após o% mail.err -/var/log/mail.err

use FS btrfs e use a opção -o ssd

Mais link

    
1

Como você ajusta e otimiza SSD para o Ubuntu, Linux Mint

Ativar TRIM

TRIM (comando Trim permite que um sistema operacional saiba quais blocos SSD não estão sendo usados e podem ser limpos)

Faça backup do fstab primeiro para o caso de algo errado acontecer.

# cp /etc/fstab ~/fstab.bk

Editar arquivo fstab

# nano /etc/fstab

Adicione o descarte aos seus drives ou partições ssd, após ext4

UUID=bef10b86-494d-41c6-aa46-af72cfba90fd / ext4 discard,errors=remount-ro 0 1
Adding noatime and nodiratime

noatime e nodiratime são opções de montagem no linux para o sistema de arquivos linux. o noatime desativa as atualizações do atime no sistema de arquivos e o nodiratime desabilitará as atualizações do atime no sistema de diretórios. A adição de noatime e nodiratime reduzirá bastante a carga de ssd, o que significa ganhos de desempenho.

Editar arquivo fstab

# nano /etc/fstab

Adicione noatime, nodiratime às suas unidades ou partições ssd, após ext4

UUID=bef10b86-494d-41c6-aa46-af72cfba90fd / ext4 discard,noatime,nodiratime,errors=remount-ro 0 1
    
por user223973 24.12.2013 / 23:44
0

Eu sugiro colocar apenas as coisas que são lidas no momento da inicialização no SSD quaisquer aplicativos que exigem muito tempo para carregar.Data e logs e outras coisas sem importância que eu gostaria de localizar em um disco rígido normal.Também você pode configurar o seu ubuntu para carregar apenas um grande initramfs do SSD no momento da inicialização e não gravar alterações no ssd.Isso tem o benefício de que as alterações nessa partição não são persistentes, o que é como uma proteção para o sistema de inicialização.Para você precisaria de muito mais RAM claro.

Eu gostaria, por exemplo coloque as partições /, / etc, / usr, / boot, / lib 32/64 no SSD enquanto sth como

/ opt, / bin, / sbin, / root, / home e até mesmo trocar (aumentar a RAM !!!) no disco rígido

Wikipedia diz:

% bl0ck_qu0te%

Para backups, existem várias maneiras, das quais a mais simples é (r) sync plus cron job.

    
por Michael K 09.12.2011 / 17:26