it-swarm.dev

Jak mohu optimalizovat OS pro SSD?

Jaké kroky je třeba podniknout před instalací Ubuntu na jednotce SSD a během ní a po ní, aby se optimalizoval výkon a zajistila maximální životnost jednotky?

147
Lars Haugseth

Úspěšně jsem použil několik různých technik ke zlepšení způsobu, jakým Ubuntu používá úložné zařízení, ať už jde o pevný disk nebo tradiční jednotku.

U disků SSD se snažíte minimalizovat také počet zapsaných disků, protože čtení by nemělo zvyšovat opotřebení disku.

1) Správa odkládacího souboru

Pokud počítač nespustíte a máte dostatek paměti RAM RAM pro spuštění všech vašich aplikací), teoreticky nepotřebujete odkládací oddíl.

Pokud máte kombinaci SSD a pevných disků, umístěte swapový oddíl pouze na pevné disky.

2) Žádné zápisy pro časová razítka pro čtení (vhodné pro SSD a pevné disky)

Připojením vašich oddílů pomocí možností noatime a nodiratime se zastaví zápis časových razítek, když čtete soubory a složky. Tyto zápisy časových razítek nejsou obecně vyžadovány, pokud nepoužíváte klienta místního poštovního serveru, například mutt. Důvodem je obecně špatný nápad, protože každé čtení vytvoří při aktualizaci časových razítek zápis. Tím se snižuje životnost SSD.

Upravte svůj /etc/fstab konfigurační soubor (pečlivě - vytvořte zálohu, abyste mohli mít jistotu, že porušení konfigurace fstab může zabránit systému v práci):

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

Upravte možnosti připojení vašich oddílů přidáním textu noatime a nodiratime k řádkům definujícím kořenový adresář (/) a další oddíly, pokud je máte (/ home) - Poznámka: pokud máte/home partition, start s tím, že změníte pouze tento oddíl, pokud máte obavy, že něco zlomíte

# / 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

Než se tyto změny projeví, budete muset restartovat počítač

3) Minimalizace zápisů z OS a aplikací

Za předpokladu, že nepoužíváte server kritických produktů, většina lidí se nedívá na protokoly, pokud by se něco pokazilo (zejména proto, že vážné chyby jsou pro většinu uživatelů Ubuntu vzácné). Proto můžete nakonfigurovat Ubuntu tak, aby se všechny protokoly zapisovaly do paměti RAM paměť, nikoli do SSD).

Poznámka: Následující změny proveďte, pouze pokud jste nainstalovali veškerý software, který hodláte použít (zejména věci jako webový server Apache), jinak se mohou vyskytnout problémy s chybějícími adresáři v/var/log

Pro pozadí tohoto přístupu viz prodloužení životnosti vašeho flash disku na ubuntu-eee.com

Otevřete /etc/fstab pomocí editoru (za předpokladu, že jste zazálohovali soubor/etc/fstab)

gksudo gedit /etc/fstab

Na konec souboru fstab přidejte následující řádky a uložte:

# 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

Než se tyto změny projeví, budete muset restartovat počítač

Viz také:

108
jr0cket

SSD Life

Obecně bych se neobtěžoval - obavy ze života SSD jsou přehnané. Můžete si přečíst tento podrobný článek o tom, proč byste se opravdu neměli bát . Stručně řečeno, obvody uvnitř moderních disků SSD pro vás vyrovnávají opotřebení a vědí, jak to udělat mnohem lépe než vy.

V článku je uveden výpočet životnosti SSD, který přijímá zápisy s nepřetržitou rychlostí 80M/s. Život je 51 let . To je založeno na technologii 2007 - životnost SSD bude nyní delší. A téměř určitě nepíšete do SSD rychlostí 80M/s 24 hodin denně.

Výkon SSD

Problémem však může být zhoršení výkonu v čase a řešením je TRIM . Existují dvě možnosti

  • automatický/online TRIM, aka zahodit
  • ruční TRIM

Musíte povolit automatické TRIM sami . (V zásadě přidáte možnost discard k vašim možnostem připojení, za předpokladu, že používáte ext4.) Našel jsem blogový příspěvek, který hlásil, že možnost zahodit zpomaluje váš systém při mazání souborů .

Můžete to občas udělat ručně (nebo v úloze cron) pomocí fstrim . Pokud máte pouze jeden oddíl, pak stačí:

Sudo fstrim /

Všimněte si, že fstrim je k dispozici pouze v 11.10 a novějších verzích. U starších systémů budete potřebovat wiper.sh skript. Skript jsem našel na /usr/share/doc/hdparm/contrib/wiper.sh.gz v mém systému.

Pokud vás zajímá, problém, který TRIM řeší, jak popsal Wikipedia , je:

Jednotky SSD ukládají data do buněk flash paměti, které jsou seskupeny do stránek, přičemž stránky (obvykle 4 kB) jsou seskupeny do bloků (obvykle 128 stránek na blok, celkem 512 kB). Paměťové buňky NAND lze zapisovat přímo, pouze když jsou prázdné. Pokud se předpokládá, že obsahují data, musí být nejprve obsah smazán, než bude možné spolehlivě provést operaci zápisu. V SSD lze operaci zápisu provést na úrovni stránky, ale kvůli hardwarovým omezením mají mazací příkazy vždy vliv na celé bloky. Výsledkem je zápis dat na SSD média velmi rychle, pokud lze použít prázdné stránky, ale výrazně se zpomalí, jakmile je třeba přepsat dříve napsané stránky . Protože je před smazáním buněk na stránce potřeba vymazat, ale lze vymazat pouze celé bloky, přepsání zahájí cyklus čtení-výmaz-úprava-zápis: obsah celého bloku musí být uložen v mezipaměti, než bude efektivně vymazán na flash médiu, poté bude přepsaná stránka upravena v mezipaměti, takže blokovaný blok je aktuální, a teprve potom je celý blok (s aktualizovanou stránkou) ) zapsáno na flash médium . Tento jev je znám jako zesílení zápisu.

92
Hamish Downer

Existuje několik bodů:

Zarovnání:

Často je zdůrazněno správné zarovnání oddílu. To by se mělo rovnat velikosti bloku SSD. Hrajte bezpečně a upravte oddíly tak, aby odpovídaly hranicím MiB. Uvědomte si, že to nelze udělat pomocí nástroje pro instalaci instalačního programu Ubuntu (který používá MB nikoli MiB), ale můžete spustit živé CD, použít Gparted (který používá MiB) a poté klepnutím na Instalovat použít oddíly, které nastavíte.

Správný plánovač:

Důležitým bodem je plánovač , který by měl být noop. Tento plánovač můžete nastavit pomocí kernelparameter elevator=noop nebo pomocí záznamu echo noop > /sys/block/sda/queue/scheduler ve vás rc.local.

Mountflags:

Doporučil bych noatime a discard

Tmpfs

Umístit tmp na ramdisk může prodloužit životnost ssd. Chcete-li to použít, vložte do svého řádku fstab následující řádek: none /tmp tmpfs defaults 0 0

Obecně, pokud se chcete ponořit hlouběji do tohoto tématu, doporučuji toto vynikající wiki-článek.

20
Sebastian Rühl

Rychlý ladicí kurz pro váš SSD na Ubuntu:

souborový systém

Arch wiki zmiňuje se několik preferovaných možností pro systém souborů SSD - jedna z nich je nestabilní, ostatní jsou ext * ty. Předpokládám, že ext4 je jedním z nejlepších tipů.
Poznámka: V případě ext4 můžete použít možnost připojení discard.

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

Zde je několik důležitých věcí:

  • Pro systémy s> = 2 koncerty paměti je žádoucí lokalizovat/tmp v RAM).
  • Žádný oddíl swap. V dnešní době je to potřeba pouze pro hibernaci, protože moderní stroje mají poměrně velké množství paměti RAM.
  • Možnosti noatime a discard. Info je zde .

plánovač

Zvažte přechod od výchozího plánovače, který je ve většině distribučních systémů Linuxu cfq (zcela férový front), na plánovač noop nebo termín pro SSD. Například pomocí plánovače noop jednoduše zpracovává požadavky v pořadí, v jakém jsou přijaty, bez ohledu na to, kde jsou data fyzicky uložena na disku. Tato možnost je považována za výhodnou pro SSD, protože doby hledání jsou stejné pro všechny sektory SSD.

Přidejte k /etc/rc.local:

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

informace

jedendva

16

4) povolit automatické TRIM

Pokud to váš SSD podporuje, měli byste také povolit automatické TRIM (jak je popsáno zde )

8
Uli

TRIM umožňuje operačnímu systému informovat SSD o tom, které bloky dat se již nepoužívají a lze je interně vymazat. Ořezávání umožňuje SSD předem zpracovat režii sběru odpadu, což by jinak významně zpomalilo budoucí operace zápisu do příslušných bloků. 1

V Ubuntu 14.04 byla do balíčku util-linux přidána nová funkce, která pravidelně ořezává SSD automaticky, ale ve výchozím nastavení jsou TRIM povoleny pouze Intel a Samsung SSD. , protože některé levné SSD disky se mohou při spuštění TRIMu dokonce zděřit.2 Obsah /etc/cron.weekly/fstrim v 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

1https://en.wikipedia.org/wiki/Trim_%28computing%29
2Jak je Trim povolen?

3
karel

Nepřidal bych tento řádek do vašeho fstabu, adresář var/tmp má přežít restartování a to by pro vás mohlo způsobit problémy.

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

Když konfiguruji nový systém, nechám všechny složky tmp komentované tímto způsobem, pokud se něco stane, mohu zkontrolovat protokoly a tak. Poté, co budu mít hlavní nastavení systému, zruším je, ale nikdy nepřidám výše uvedený řádek, zde je to, co používám:

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

A pokud mám nějaké problémy s mým systémem, komentuji je, abych mohl vše zkontrolovat i po restartu nebo nuceném restartu po zablokování.

Také nepotřebujete nodiratime, noatime volba se postará o oba sama.

Pokud jde o TRIM, pokud to váš hw/sw podporuje, je to nutné, nepoužívám odhoz v fstabu. Vytvářím denní cron, protože můj počítač je vždy zapnutý, a to takto:

gksu gedit /etc/cron.daily/trim

Pak to přidejte do souboru a uložte (Pokud nemáte samostatný/domácí oddíl na ssd, nebo máte jiné části, které jsou na ssd, měli byste si udělat představu, jak to změnit:

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

Poté vytvořte soubor spustitelným pomocí:

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

Také upravuji svůj rc.local takto:

gksu gedit /etc/rc.local

Přidejte toto nad „exit 0“ a pod poslední #:

# 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

Můžete odtud kopírovat a vkládat, takže nedochází k chybám, laikovi to vypadá z rána, není.

Četl jsem také, že ponechání 10% vašeho disku SSD bezformátované může pomoci prodloužit životnost, kterou zbývá ještě vidět. To jsem do toho moc nečetl, takže nemohu ručit, pokud to má smysl.

Toto je nejlepší průvodce po celém světě, neklouzal po Googlu celý den a pak přišel s průvodcem, měli byste to zkontrolovat ZDE

3
JohnRB

Existuje několik dobrých informací Jak vyladit a optimalizovat SSD pro Ubuntu, Linux Mint z http://namhuy.net/1563/how-to-Tweak-and-optimize-ssd-for-ubuntu-linux-mint .html , který by vás mohl zajímat

Použít předběžné načtení

Chcete-li nainstalovat preload na distribucích založených na Ubuntu, Linux Mint nebo Debian

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

Vypněte swap

Změna nastavení swappiness:

$ su -
# nano /etc/sysctl.conf

A přidejte tento řádek do souboru sysctl.conf.

vm.swappiness = 10
2
Sue Russell

Je jasné že /var/tmp by nemělo být v tmpfs, protože podle definice musí být jeho obsah zachován i po restartu:

2
user95602

Ok "dlouhý příběh krátký":

  1. Ano. Je to jako normální hdd. Zde je dobrý přehled.
  2. Některé speciální doplňky, které budu pokrývat.
  3. Celkem dobrý. Používám to se serverem.

Formátovat jako ext4 během instalace a vytvořte malý swap ~ 1 GB. Po instalaci upravte fstab pomocí Sudo gedit /etc/fstab a přidejte následující řádek

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

Tím vytvoříte pohromu pro vaše dočasné soubory, což sníží stárnutí. Také přidejte noatime,nodiratime,discard k vašemu řádku ext4 po výchozím nastavení. To také sníží opotřebení a umožní funkci TRIM. Uložte a restartujte počítač.

2
gajdipajti

Je vyžadována UPS. V souboru /etc/sysctl.conf

vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10

Vyhledejte démona konfiguračního souboru, obvykle /etc/syslog.conf Или /etc/rsyslog.d/ A všechny cesty formuláře /var/log/ Se změní zapsáním znaménka mínus ("-") před způsoby. Před mail.err

/var/log/mail.err

Po
mail.err -/var/log/mail.err

použijte FS btrfs a použijte volbu -o ssd

Více http://vasilisc.com/speedup_ubuntu_eng#speedup_fs

Jak vyladit a optimalizovat SSD pro Ubuntu, Linux Mint

Povolit TRIM

TRIM (Příkaz Trim oznámí OS, které bloky SSD se nepoužívají a lze je vymazat)

Zálohujte fstab nejprve v případě, že se něco stane.

# cp /etc/fstab ~/fstab.bk

Upravit soubor fstab

# nano /etc/fstab

Po ukončení ext4 přidejte zahodit na své jednotky ssd nebo oddíly

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

noatime a nodiratime jsou možnosti připojení v linuxu pro souborový systém linux. noatime zakáže aktualizace atime v systému souborů a nodiratime zakáže aktualizace atime v adresářovém systému. Přidáním noatime a nodiratime se výrazně sníží zatížení SSD znamená zvýšení výkonu.

Upravit soubor fstab

# nano /etc/fstab

Přidejte extaticky noatime, nodiratime k jednotkám ssd nebo oddílům

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

Navrhuji umístit pouze ty věci, které se čtou v době bootování na SSD, možná aplikace, které vyžadují hodně času na načtení.Data a logy a další nekritické věci, které bych našel na běžném HDD.Also byste mohli nastavit vaše ubuntu tak, aby se jen načítal velký initramfs z SSD v době bootování a nezaznamenává zpětné změny do ssd.To má tu výhodu, že změny v této oblasti nejsou trvalé, což je jako ochrana pro váš bootovací systém. Potřebujete více RAM samozřejmě.

Např. umístěte diskové oddíly /,/etc,/usr,/boot,/lib 32/64 na SSD a to podobně

/ opt,/bin,/sbin,/root,/home a dokonce vyměnit (zvýšit RAM !!!) na HDD

Wikipedia říká:

Linuxové jádro podporuje funkci TRIM od verze 2.6.33. Systém souborů ext4 je podporován, pokud je připojen pomocí parametru „zahodit“. Nejnovější obslužné programy pro disk (a proto instalační software, který je využívá) také používají správné zarovnání oddílů.

Pro zálohy existuje mnoho způsobů, z nichž nejjednodušší je (r) synchronizace plus úloha cron.

0
Michael K