SSD'ler için işletim sistemini nasıl optimize edebilirim?

143

Performansı optimize etmek ve sürücünün maksimum dayanıklılığını sağlamak için Solid State Drive'daki Ubuntu kurulumundan önce / sırasında / sırasında / adımlarda hangi adımlar atılmalıdır?

    
sordu Lars Haugseth 06.08.2010 16:03

13 cevap

106

Ubuntu'nun katı hal veya geleneksel sürücü olsun, depolama cihazını kullanma şeklini geliştirmek için birkaç farklı tekniği başarıyla kullandım.

SSD'ler için, sürücünün sürücüye eklenme sayısını en aza indirmeye çalışıyorsunuz, çünkü okumalar sürücüye aşınma eklememelidir.

1) Takas dosyasını yönetin

Bilgisayarı hazırda bekletmezseniz ve tüm uygulamalarınızı çalıştırmak için geniş RAM belleğiniz varsa, teoride, takas bölümüne ihtiyacınız yoktur.

SSD ve sabit sürücülerden oluşan bir karışımınız varsa, takas bölümünüzü yalnızca sabit sürücülere yerleştirin.

2) Okuma Zaman Damgası için Yazma Yok (SSD'ler ve sabit sürücüler için uygun)

Bölümlerinizin noirime ve nodiratime seçenekleriyle birleştirilmesi, dosya ve klasörleri okuduğunuzda zaman damgası yazmayı durdurur. Mutt gibi bir yerel posta sunucusu istemcisi kullanmazsanız, bu zaman damgası yazmaları genellikle gerekli değildir. Bunun genellikle kötü bir fikir olmasının nedeni, her bir okuma zaman damgalarını güncellerken bir yazı üreteceğidir. Bu SSD'nin ömrünü azaltır.

/ etc / fstab yapılandırma dosyanızı düzenleyin (dikkatli bir şekilde - fstab yapılandırmanızı kırmanızın sistemin çalışmasını engelleyebileceğinden emin olmak için bir yedek alın):

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

Köklerinizi (/) ve varsa diğer bölümleri (/ home) tanımlayan satırlara metin noatime ve nodratime metin ekleyerek bölümlerinizin montaj seçeneklerini düzenleyin. Not: Bir / home bölümünüz varsa , bir şeyleri kırmaktan endişeleniyorsanız, bu bölümü değiştirerek başlayın

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

Bu değişikliklerin yürürlüğe girmesinden önce makinenizi yeniden başlatmanız gerekecek

3) İşletim sisteminden ve uygulamalardan gelen yazıyı en aza indirgeme

Kritik bir ürün sunucusu çalıştırmıyor olduğunuzu varsayalım, çoğu insan bir şeyler ters giderse (özellikle Ubuntu kullanıcıları için ciddi hatalar olduğundan) günlüklere bakmaz. Bu nedenle Ubuntu'yu yapılandırabilirsiniz, böylece tüm günlükler SSD'den ziyade RAM belleğe yazılır.

Not: Kullanacağınız tüm yazılımları (özellikle Apache web sunucusu gibi) yüklediğinizde, aşağıdaki değişiklikleri yapın, aksi halde eksik dizinlerle / var / log

Bu yaklaşımın arka planı için, bkz. Flash sürücünüzün ömrünü uzatmak için ubuntu- eee.com

Bir editörle / etc / fstab 'ı açın (/ etc / fstab dosyasını yedeklediğiniz varsayılarak)

gksudo gedit /etc/fstab

fstab dosyasının sonuna aşağıdaki satırları ekleyin ve kaydedin:

# 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

Bu değişikliklerin yürürlüğe girmesinden önce makinenizi yeniden başlatmanız gerekecek

Ayrıca bkz:

verilen cevap jr0cket 08.08.2010 15:09
90

SSD Yaşamı

Genelde rahatsız olmaz - SSD yaşamı ile ilgili endişeler abartılıyor. Bu neden endişelenmemesi gerektiğiyle ilgili ayrıntılı makaleyi okuyabilirsiniz . Kısacası, modern SSD'lerin içindeki devreler sizin için aşınma seviyesini yönetir ve bunu sizden daha iyi nasıl yapacağını bilirler.

Makalede, 80M / s sürekli hızında yazı alan bir SSD'nin ömrü hesaplanmaktadır. Hayat 51 yıldır . Bu 2007 teknolojisine dayanıyor - SSD hayatı artık daha uzun olacak. Ve neredeyse kesinlikle SSD'nize günde 24 saat 80M'de yazmıyorsunuz.

SSD Performansı

Ancak, zaman içindeki performans düşüşü bir sorun olabilir ve çözümün TRIM olması. İki seçenek var

  • otomatik / çevrimiçi TRIM, aka atın
  • manuel TRIM

Otomatik TRIM'i kendiniz etkinleştirmelisiniz . (Temel olarak, ext4 kullandığınız sürece, mount seçeneklerine discard seçeneğini eklersiniz.) Dosyaları silerken, disk atma seçeneği sisteminizi yavaşlatır.

Zaman zaman bunu manuel olarak (veya bir cron işinde) fstrim . Tek bir bölümünüz varsa, yapmanız gereken tek şey:

sudo fstrim /

Fstrim'in sadece 11.10 ve daha yeni sürümlerde mevcut olduğunu unutmayın. Eski sistemler için wiper.sh komut dosyasına ihtiyacınız olacak. Komut dosyasını sistemimde /usr/share/doc/hdparm/contrib/wiper.sh.gz dizininde buldum.

Merak ediyorsanız, TRIM'in, Wikipedia tarafından tanımlanan olarak çözdüğü sorun:

  

SSD'ler, sayfalar halinde gruplanmış flash bellek hücrelerindeki verileri (tipik olarak her biri 4 kB) bloklar halinde gruplandırarak depolar (genellikle blok başına 128 sayfa, toplam 512 kB). NAND flash bellek hücreleri sadece boş olduklarında doğrudan yazılabilir. Veri içerdiği düşünüldüğünde, bir yazma işleminin güvenilir bir şekilde gerçekleştirilebilmesi için öncelikle içeriğin silinmesi gerekir. SSD'lerde, sayfa düzeyinde bir yazma işlemi yapılabilir, ancak donanım sınırlamaları nedeniyle, silme komutları her zaman tüm blokları etkiler. Sonuç olarak, boş sayfalar kullanılabildikçe SSD ortamına veri yazmak çok hızlıdır, ancak önceden yazılmış sayfaların üzerine yazılması gerektiğinde çok yavaşlar . Yeniden yazılabilmesinden önce, sayfadaki hücrelerin silinmesi gerektiğinden, yalnızca tüm bloklar silinebilir, üzerine yazma, okuma-silme-değiştirme-yazma döngüsünü başlatacaktır: tüm bloğun içeriği önbellekte etkin bir şekilde silinmeden önce önbellekte saklanmak üzere önbelleğe alınan blok güncel olduğundan, önbelleğe alınmış sayfa güncellenir ve sadece bu durumda tüm blok (güncellenmiş sayfayla) flash ortamına yazılır. . Bu fenomen yazma amplifikasyonu olarak bilinir.

    
verilen cevap Hamish Downer 08.08.2010 21:03
20

Birkaç nokta var:

Hizalama:

Sıklıkla işaret edilen bölüm, bölümün doğru hizalamasıdır . Bu SSD'nin blok büyüklüğüne eşit olmalıdır. Güvenli oynayın ve bölümlerinizi MiB sınırlarına hizalayın. Bunu Ubuntu yükleyici bölümleme aracı ile yapamazsınız (MB değil MiB kullanır), ancak canlı CD'yi yükleyebilir, Gparted'i (MiB'yi kullanır) kullanabilir ve sonra kurduğunuz bölümleri kullanmak için Yükle'yi tıklayabilirsiniz. / p>

Doğru zamanlayıcı:

Önemli bir nokta, noop olması gereken zamanlayıcıdır . Bu zamanlayıcıyı kernelparameter elevator=noop veya echo noop > /sys/block/sda/queue/scheduler 'inizde rc.local olarak ayarlayabilirsiniz.

Mountflags:

noatime ve discard

öneriyorum

tmpfs

Bir ramdisk'e tmp koymak, ssd'nin ömrünü uzatabilir. Bunu kullanmak için aşağıdaki satırı koyun: none /tmp tmpfs defaults 0 0

Genellikle, bu konuya daha ayrıntılı bir şekilde dalmak istiyorsanız bu mükemmel viki makalesini öneririm.

    
verilen cevap Sebastian Rühl 03.02.2011 22:28
16

Ubuntu'daki SSD'niz için hızlı ayar kursu:

dosya

Arch wiki , SSD dosya sistemi için tercih edilen seçeneklerden bazıları - bunlardan biri kararsız, diğerleri ext * olanlar. ext4 'in en iyi seçimlerden biri olduğunu kabul ediyorum.
Not: ext4 durumunda, discard mount seçeneğini kullanmak isteyebilirsiniz.

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

Burada birkaç önemli şey:

  • & gt; = 2 bellek hafızası olan sistemler için RAM'de konumlandırma / tmp istenebilir.
  • swap bölümü yok. Günümüzde sadece hazırda bekletme için gereklidir, çünkü modern makineler oldukça büyük miktarda RAM'e sahiptir.
  • noatime ve discard seçenekleri. Bilgi burası .

zamanlayıcı

Çoğu Linux dağıtıcısının altındaki cfq (tamamen adil sıraya koyma) olan varsayılan zamanlayıcıdan, bir SSD için noop veya son tarih planlayıcısına geçiş yapmayı düşünün. Örneğin, noop zamanlayıcıyı kullanmak, verilerin diskte fiziksel olarak nerede kaldığıyla ilgili herhangi bir fikir vermeden, istekleri aldıkları sıraya göre işler. Bu seçeneğin SSD'ler için avantajlı olduğu düşünülmektedir çünkü arama süreleri SSD'deki tüm sektörler için aynıdır.

/etc/rc.local 'e aşağıdakileri ekleyin:

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

bilgi

bir tane iki

    
verilen cevap Andrejs Cainikovs 09.12.2011 18:24
8

4) otomatik TRIM'i etkinleştir

SSD'niz destekliyorsa, otomatik TRIM'i de etkinleştirmelisiniz (açıklandığı gibi burada )

    
verilen cevap Uli 31.12.2010 00:37
3

Bu satırı fstab'ınıza eklemem, var / tmp klasörü yeniden başlatmalardan kurtulmak içindir ve bu sizin için sorunlara neden olabilir.

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

Yeni sistemi yapılandırdığımda, tüm tmp klasörünü bu şekilde yorumladım, eğer bir şey olursa, günlükleri ve eşyaları kontrol edebilirim. Sonra ana sistem kurulumuna sahip olduğumda, bunları bir daha yorumlayamayacağım, ama asla yukarıdaki satırı eklemem, kullanıyorum:

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

Ve eğer sistemimle ilgili herhangi bir sorun yaşarsam, yeniden başlattıktan sonra veya bir kilitlenmeden sonra yeniden başlatıldığında bile her şeyi kontrol edebilmek için bunları yorumluyorum.

Ayrıca, nodiratime ihtiyacınız yok, noatime seçeneği her ikisini de kendi kendine halleder.

TRIM'e gelince, hw / sw'niz destekliyorsa, bu bir zorunluluktur, fstab'ta atmayı kullanmıyorum. Günlük bir cron yaratıyorum, çünkü bilgisayarım her zaman açık, bunu yaparak:

gksu gedit /etc/cron.daily/trim

Daha sonra bunu dosyaya ekleyin ve kaydedin (Eğer ssd'de ayrı / ev bölümünüz yoksa veya ssd üzerinde başka bölümleriniz varsa, bunu nasıl değiştireceğinize dair fikir edinmelisiniz:

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

Ardından dosyayı yürütülebilir:

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

Ayrıca rc.local'ımı şöyle düzenlerim:

gksu gedit /etc/rc.local

Bunu yukarıdaki "çıkış 0" ve sonun altında ekleyin: #

# 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

Buradan kopyalayıp yapıştırabilmeniz için hata yapmazsınız, katil için bir hata yoktur, o değildir.

Ayrıca, ssd sürücünüzün% 10'unun biçimlendirilmemiş halde bırakılmasının ömrünün uzatılmasına yardımcı olabileceğini de gördüm. Bunu çok fazla okumamış olsaydım, bunu yapmanın mantıklı olup olmadığını kefil edemem.

Bu, her yönüyle en iyi rehber, Google'da bir günlüğüne kayma yapmadı ve ardından bir rehberle birlikte gelip, kontrol etmelisiniz BURAYA

    
verilen cevap JohnRB 29.07.2013 00:53
3

TRIM, bir işletim sisteminin, kullanımda olan veri bloklarının artık dikkate alınmadığı ve dahili olarak silinebileceği bir SSD'yi bilgilendirmesini sağlar. Kırpma, SSD'nin çöp toplama yükünü üstlenmesini sağlar; aksi takdirde, gelecekteki yazma işlemlerini ilgili bloklara önceden önemli ölçüde yavaşlatabilir. 1

Ubuntu 14.04'te, otomatik olarak SSD'leri otomatik olarak kesen util-linux paketine yeni bir özellik eklendi, ancak bazı ucuz SSD'ler tuğla bile yapabildiğinden sadece Intel ve Samsung SSD'lerin varsayılan olarak TRIM'i var TRIM'i çalıştırırken kendileri. 2 Ubuntu 14.04'teki% co_de içeriği:

#!/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 İşte
2 Nasıl? Trim etkin mi?

    
verilen cevap karel 25.12.2013 02:52
2

Tanıma gereği, içeriğin yeniden başlatmaların ötesinde saklanması gerektiğinden, /var/tmp 'nin tmpfs içinde olmaması gerektiği açıktır:

verilen cevap user95602 09.10.2012 18:12
2

Tamam "uzun hikaye kısa":

  1. Evet. Normal bir hdd gibidir. İşte iyi bir genel bakış.
  2. Sunulacağım bazı özel ekstralar.
  3. Oldukça iyi. Onu bir sunucu ile kullanıyorum.

Yükleme sırasında ext4 olarak biçimlendirin ve küçük bir takas ~ 1 GB oluşturun. Yükledikten sonra sudo gedit /etc/fstab ile fstab dosyasını düzenleyin ve aşağıdaki satırı ekleyin

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

Bu, geçici dosyaları azaltmak için bir ramdrive yaratacak, bu da yaşlanmayı düşürecektir. Ayrıca, varsayılanlardan sonra ext4 hattınıza noatime,nodiratime,discard ekleyin. Bu ayrıca aşınmayı azaltır ve TRIM işlevini etkinleştirir. Kaydet ve yeniden başlat.

    
verilen cevap gajdipajti 24.04.2012 00:06
2

Bazı iyi bilgiler var Ubuntu için SSD'yi nasıl ayarlayacağınız ve optimize edeceğiniz, Linux Mint'ten İşte ilginizi çekebilir

Önyüklemeyi kullan

Ubuntu, Linux Mint veya debian tabanlı dağıtımlara ön yükleme yapmak için

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

Takasınızı kapatın

Değişim ayarını değiştirmek için:

$ su -
# nano /etc/sysctl.conf

Ve bu satırı sysctl.conf dosyasına ekleyin.

vm.swappiness = 10
    
verilen cevap Sue Russell 09.11.2013 19:58
2

UPS gerekli. /etc/sysctl.conf dosyasında

vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10

Yapılandırma dosyası daemonunu bul, genellikle /etc/syslog.conf или /etc/rsyslog.d/ ve yolun tüm yollarını /var/log/ olarak değiştirerek bir eksi işareti ("-"). mail.err

/var/log/mail.err

Sonra
mail.err -/var/log/mail.err

FS btrfs kullanın ve -o ssd seçeneğini kullanın

Daha fazla İşte

    
verilen cevap Василий Алексеенко 12.05.2012 13:08
1

Ubuntu için SSD nasıl ayarlanır ve optimize edilir, Linux Nane

TRIM'i etkinleştir

TRIM (Trim komutu bir OS'nin hangi SSD bloklarının kullanılmadığını ve temizlenebildiğini bilmesini sağlar)

Yanlış bir şey olması durumunda önce fstab'ı yedekleyin.

# cp /etc/fstab ~/fstab.bk

Fstab dosyasını düzenle

# nano /etc/fstab

ssd sürücülerinize veya bölümlerinize ext4'ten sonra ekleme ekleyin

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

linux dosya sistemi için linux'da, noatime ve nodiratime mount seçenekleri. noatime, dosya sisteminde atime güncellemelerini devre dışı bırakır ve nodiratime, dizin sistemindeki atime güncellemeleri devre dışı bırakır. Noalime ve nodiratime ekleyerek ssd yükünü büyük ölçüde azaltacaktır performans kazancı demektir.

Fstab dosyasını düzenle

# nano /etc/fstab

ssd sürücülerinize veya bölümlerinize ext4'ten sonra, nodern, nodiratime ekleyin

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

Ben sadece yük için çok fazla zaman gerektiren uygulamalar SSD'de önyükleme sırasında okunan şeyleri yerleştirmeyi öneririm.Data ve günlükleri ve normal bir HDD'de bulabildiğim kritik olmayan diğer şeyler.Ayrıca ubuntu'nuzu kurabilirsiniz önyükleme zamanında SSD'den büyük bir initramfs yüklemek ve değişiklikleri ssd'ye yazmaz. Bu bölüme göre değişiklikler vardır, bu önyükleme sisteminiz için bir koruma gibi sth kalıcı değildir. Daha fazla RAM'e ihtiyacınız olacaktır. tabiki.

Ben örn. bölümleri yerleştir / / / /, / usr, / boot, / SS 32/64 SSD'de sth gibi

/ opt, / bin, / sbin, / root, / home ve hatta HDD'de takas yapın (RAM'ı artırın!)

Wikipedia diyor ki:

  

Linux çekirdeği, 2.6.33 sürümüyle başlayan TRIM işlevini destekler. Ext4 dosya sistemi "discard" parametresi kullanılarak monte edildiğinde desteklenir. En yeni disk yardımcı programları (ve dolayısıyla bunları kullanan yükleme yazılımı) ayrıca uygun bölüm hizalaması uygular.

Yedeklemeler için, (r) senkronizasyon artı cron işi olan, en basit yolu vardır.

    
verilen cevap Michael K 09.12.2011 17:26

Etiketlerdeki diğer soruları oku