Quais etapas devem ser tomadas antes / durante / após a instalação do Ubuntu em uma unidade de estado sólido para otimizar o desempenho e garantir a máxima durabilidade da unidade?
Quais etapas devem ser tomadas antes / durante / após a instalação do Ubuntu em uma unidade de estado sólido para otimizar o desempenho e garantir a máxima durabilidade da unidade?
Respostas:
Usei com sucesso várias técnicas diferentes para melhorar a maneira como o Ubuntu usa o dispositivo de armazenamento, seja no estado sólido ou na unidade tradicional.
Para SSDs, você também procura minimizar o número de vezes que a unidade é gravada, pois as leituras não devem adicionar desgaste à unidade.
1) Gerencie o arquivo de troca
Se você não hibernar o computador e tiver memória RAM suficiente para executar todos os seus aplicativos, em teoria você não precisará de uma partição de troca.
Se você tiver uma mistura de SSD e discos rígidos, coloque sua partição de swap apenas nos discos rígidos.
2) Não há gravações para registros de data e hora de leitura (adequados para SSDs e discos rígidos)
Montar suas partições com as opções noatime e nodiratime interromperá as gravações de carimbo de data e hora quando você ler arquivos e pastas. Essas gravações de registro de data e hora geralmente não são necessárias, a menos que você use um cliente de servidor de correio local, como mutt. Geralmente, essa é uma péssima idéia, porque cada leitura produzirá uma gravação ao atualizar os carimbos de data e hora. Isso diminui a vida útil do SSD.
Edite seu arquivo de configuração / etc / fstab (com cuidado - faça um backup para garantir que a quebra da configuração do fstab possa impedir o funcionamento do sistema):
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 alterando essa partição se você estiver preocupado em quebrar algo
# / 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á reiniciar sua máquina antes que essas alterações entrem em vigor
3) Minimizando gravações do SO e aplicativos
Supondo que você não esteja executando um servidor de produto de missão crítica, a maioria das pessoas não analisa 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 logs sejam gravados na memória RAM, e não no SSD.
Nota: faça as seguintes alterações somente quando tiver instalado todo o software que você irá usar (especialmente coisas como o servidor web Apache); caso contrário, poderá haver alguns problemas com os diretórios ausentes em / var / log
Para obter mais informações sobre essa abordagem, consulte prolongando a vida útil da sua unidade flash em ubuntu-eee.com
Abra o / etc / fstab com um editor (assumindo que você fez 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á reiniciar sua máquina antes que essas alterações entrem em vigor
Veja também:
Geralmente eu não me incomodaria - as preocupações com a vida no SSD são exageradas. Você pode ler este artigo detalhado sobre por que realmente não deveria se preocupar . Em resumo, o circuito interno dos SSDs modernos gerencia o nível de desgaste para você e eles sabem como fazê-lo muito melhor do que você.
No artigo, está um cálculo da vida útil de um SSD que está recebendo gravações a uma taxa contínua de 80M / s. A vida é de 51 anos . Isso é baseado na tecnologia de 2007 - a vida útil do SSD será mais longa agora. E você quase certamente não grava no seu SSD a 80M / s 24 horas por dia.
No entanto, a degradação do desempenho ao longo do tempo pode ser um problema, e o TRIM é a solução. Existem duas opções
Você precisa habilitar o TRIM automático . (Basicamente, você adiciona a discard
opção às opções de montagem, desde que esteja usando o ext4.) Encontrei uma postagem no blog relatando que a opção de descarte diminui a velocidade do sistema ao excluir arquivos .
Ocasionalmente, você pode fazer isso manualmente (ou em um trabalho cron) usando fstrim . Se você tiver apenas uma partição, tudo o que você precisa fazer é:
sudo fstrim /
Observe que o fstrim está disponível apenas na 11.10 e mais recente. Para sistemas mais antigos, você precisará do wiper.sh
script. Encontrei o script no /usr/share/doc/hdparm/contrib/wiper.sh.gz
meu sistema.
Se você está se perguntando, o problema que o TRIM resolve, conforme descrito pela Wikipedia , é:
Os SSDs armazenam dados em células de memória flash agrupadas em páginas, com as páginas (normalmente 4 kB cada) agrupadas em blocos (normalmente 128 páginas por bloco, totalizando 512 kB). As células de memória flash NAND só podem ser gravadas diretamente quando estão vazias. Se eles são considerados como contendo dados, o conteúdo primeiro precisa ser apagado antes que uma operação de gravação possa ser executada de maneira confiável. Nos SSDs, uma operação de gravação pode ser feita no nível da página, mas devido a limitações de hardware, os comandos de exclusão sempre afetam blocos inteiros. Como resultado, a gravação de dados na mídia SSD é muito rápida, desde que as páginas vazias possam ser usadas, mas diminui consideravelmente quando as páginas escritas anteriormente precisam ser substituídas. Como é necessário apagar as células da página antes que ela possa ser gravada novamente, mas somente blocos inteiros podem ser apagados, uma substituição iniciará um ciclo de leitura-apagamento-modificação-gravação: o conteúdo de todo o bloco deve ser armazenado no cache antes de ser efetivamente apagado na mídia flash, a página substituída é modificada na cache para que o bloco em cache esteja atualizado e somente então o bloco inteiro (com página atualizada) é gravado na mídia flash . Esse fenômeno é conhecido como amplificação de gravação.
Existem vários pontos:
Alinhamento:
O que geralmente é apontado é o alinhamento correto da partição. Isso deve ser igual ao tamanho do bloco do SSD. Jogue com segurança e faça suas partições alinhadas aos limites do MiB. Observe que você não pode fazer isso com a ferramenta de partição do instalador do Ubuntu (que usa MB e não o MiB), mas pode inicializar o CD ao vivo, usar o Gparted (que usa o MiB) e clicar em Instalar para usar as partições que você configurou.
O agendador certo:
Um ponto importante é o agendador que deveria ser noop
. Você pode definir esse agendador via parâmetro do kernel elevator=noop
ou através de uma entrada echo noop > /sys/block/sda/queue/scheduler
em seu rc.local.
Mountflags:
Eu recomendaria noatime
ediscard
Tmpfs
Colocar tmp em um ramdisk pode aumentar a vida útil do ssd. Para usar isso, coloque a seguinte linha no fstab:none /tmp tmpfs defaults 0 0
Geralmente, se você quiser se aprofundar neste tópico, eu recomendaria este excelente artigo wiki.
Curso de ajuste rápido para o seu SSD no Ubuntu:
sistema de arquivo
O Arch wiki menciona poucas opções preferíveis para o sistema de arquivos SSD - uma delas é instável, outras são ext * ones. Presumo que ext4 é uma das melhores escolhas.
Nota: No caso do ext4, você pode usar a discard
opção 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:
swap
partição. Atualmente, é necessário apenas para hibernação, uma vez que as máquinas modernas possuem uma quantidade bastante grande de RAM.noatime
e discard
opções. A informação está aqui .Agendador
Considere mudar do agendador padrão, que na maioria das distribuições Linux é cfq (fila completamente justa), para o agendador noop ou prazo para um SSD. O uso do planejador noop, por exemplo, simplesmente processa solicitações na ordem em que são recebidas, sem levar em consideração o local onde os dados residem fisicamente no disco. Essa opção é considerada vantajosa para SSDs, pois os tempos de busca são idênticos para todos os setores no SSD.
Adicione o seguinte ao /etc/rc.local :
# SSD performance tuning
echo noop > /sys/block/sda/queue/scheduler
informação
/tmp
RAM, é muito fácil obter uma situação de falta de memória , pois muitos programas usam /tmp
como espaço de armazenamento (por exemplo, o Brasero para armazenar imagens de DVD).
tmpfs
por padrão é 10% da RAM. O tamanho pode ser ajustado usando a size
opção.
Eu não adicionaria esta linha à sua pasta fstab, var / tmp, para sobreviver a reinicializações e isso pode causar problemas para você.
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
Quando configuro o novo sistema, deixo toda a pasta tmp comentada dessa maneira, se algo acontecer, posso verificar os logs e outras coisas. Então, quando eu tiver a configuração principal do sistema, não as comentarei, mas nunca adicionarei a linha acima, eis 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 poder 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 nodiratime, a opção noatime cuida de ambos por si só.
Quanto ao TRIM, se o seu hw / sw o suportar, é obrigatório, eu não uso o descarte no fstab. Eu crio um cron diário, porque meu PC está sempre ligado, fazendo o seguinte:
gksu gedit /etc/cron.daily/trim
Em seguida, adicione-o ao arquivo e salve (se você não tiver uma partição home / separada no ssd ou outras partes que estejam 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
Também edito meu rc.local da seguinte forma:
gksu gedit /etc/rc.local
Adicione isso 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 que está fora de controle, não é.
Também li que deixar 10% da sua unidade ssd não formatada pode ajudar a prolongar a vida útil, o que resta a ser visto. Eu não li muito sobre isso, então não posso garantir se faz sentido fazê-lo.
Este é o melhor guia geral, ele não procurou no Google por um dia e, em seguida, criou um guia, você deve conferir AQUI
O TRIM permite que um sistema operacional informe um SSD que blocos de dados não são mais considerados em uso e podem ser limpos internamente. O corte permite que o SSD lide com a sobrecarga da coleta de lixo, o que, de outra forma, diminuiria significativamente as operações futuras de gravação nos blocos envolvidos. 1
No Ubuntu 14.04, um novo recurso foi adicionado ao pacote util-linux que apara regularmente os SSDs automaticamente, mas apenas os SSDs da Intel e da Samsung têm o TRIM ativado por padrão, porque alguns SSDs baratos podem se proteger ao executar o TRIM. 2 O conteúdo do /etc/cron.weekly/fstrim
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 https://en.wikipedia.org/wiki/Trim_%28computing%29
2 Como o Trim está ativado?
É claro que /var/tmp
não deve estar no tmpfs, pois, por definição, seu conteúdo precisa ser preservado além das reinicializações:
Ok, "longa história curta":
Formate como ext4
durante a instalação e crie uma pequena troca de ~ 1 GB. Após instalar, edite o 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 reduzirá o envelhecimento. Adicione também noatime,nodiratime,discard
à sua linha ext4 após os padrões. Isso também reduz o desgaste e ativa a função TRIM. Salve e reinicie.
Há algumas informações boas: Como ajustar e otimizar o SSD para Ubuntu, Linux Mint em http://namhuy.net/1563/how-to-tweak-and-optimize-ssd-for-ubuntu-linux-mint.html, você pode estar interessado em
Usar pré-carregamento
Para instalar o pré-carregamento nas distribuições baseadas no Ubuntu, Linux Mint ou debian
# apt-get update && apt-get install preload
Desligue sua troca
Para alterar a configuração de swappiness:
$ su -
# nano /etc/sysctl.conf
E adicione esta linha no arquivo sysctl.conf.
vm.swappiness = 10
É necessário o no-break /etc/sysctl.conf
.
vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10
Localize o daemon do arquivo de configuração, geralmente /etc/syslog.conf
или, /etc/rsyslog.d/
e todos os caminhos do formulário são /var/log/
alterados, escrevendo um sinal de menos ("-") na frente.
/var/log/mail.err
Depois de
mail.err -/var/log/mail.err
use FS btrfs
e use a -o ssd
opção
Como ajustar e otimizar o SSD para 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, caso aconteça algum problema.
# cp /etc/fstab ~/fstab.bk
Editar arquivo fstab
# nano /etc/fstab
Adicione descarte às suas unidades 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 sistema de arquivos linux. noatime desativa atualizações atime no sistema de arquivos e nodiratime desativa atualizações atime no sistema de diretórios. A adição de noatime e nodiratime reduzirá bastante a carga 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
Eu sugiro colocar apenas as coisas que são lidas no momento da inicialização no SSD, talvez aplicativos que exijam muito tempo para carregar. Dados e logs e outras coisas não críticas que eu localizaria em um disco rígido normal. um grande initramfs a partir do SSD no momento da inicialização e não grava novamente as alterações no ssd. Isso tem o benefício de que as alterações nesta partição não são persistentes, o que é uma proteção para o seu sistema de inicialização.
Por exemplo, eu colocaria as partições /, / etc, / usr, / boot, / lib 32/64 no SSD enquanto sth como
/ opt, / bin, / sbin, / root, / home e até swap (aumente a RAM !!!) no disco rígido
A Wikipedia diz:
O kernel do Linux suporta a função TRIM iniciando na versão 2.6.33. O sistema de arquivos ext4 é suportado quando montado usando o parâmetro "descarte". Os utilitários de disco mais recentes (e, portanto, o software de instalação que os utiliza) também aplicam o alinhamento adequado das partições.
Para backups, existem várias maneiras, das quais a mais simples é (r) sync mais cron.
/root
, /home
e de troca deve ser colocado no SSD para a velocidade, porque é principalmente somente leitura. Para obter benefícios de velocidade, coloque /var
também o SSD.
/
partição do Kubuntu Oneiric leva 4,5 GB no meu SSD. 20 GB é suficiente para /
menos /home
. Os esforços para ajustar o layout do sistema de arquivos, espalhando-o por várias partições, não valem a pena.
tmpfs
linhas são comentadas; então, por que adicionar essas linhas faria alguma diferença? Precisamos adicioná-lo não comentado?