it-swarm-tr.com

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

Performansı optimize etmek ve sürücünün maksimum dayanıklılığını sağlamak için Ubuntu'nun Katı Hal Sürücüsüne kurulumundan önce/sırasında/sonrasında ne gibi adımlar atılmalıdır?

146
Lars Haugseth

Ubuntu'nun depolama aygıtını kullanma şeklini (katı halli veya geleneksel sürücü olsun) geliştirmek için başarıyla birkaç farklı teknik kullandım.

SSD'ler için, okuyucular sürücüye aşınma eklememelidir, çünkü sürücünün de yazılma sayısını en aza indirirsiniz.

1) Takas dosyasını yönetin

Bilgisayarınızı hazırda bekletme moduna almazsanız ve tüm uygulamalarınızı çalıştırmak için yeterli miktarda RAM belleğiniz varsa, teoride bir takas bölümüne gerek yoktur.

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

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

Bölmelerinizi noatime ve nodiratime seçenekleriyle takmak zaman damgası yazmalarını durduracak dosya ve klasörleri okuyorsun. Bu zaman damgası yazar, genellikle böyle bir yerel posta sunucusu istemcisi kullanmadığınız sürece gerekli değildir. Bunun genellikle kötü bir fikir olmasının nedeni, her okunmanın zaman damgalarını güncellerken bir yazı üretmesidir. Bu, SSD'nin ömrünü azaltır.

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

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

Kökeninizi (/) ve varsa diğer bölümleri tanımlayan satırlara (/ home) -Not: metin noat ve nodiratime metinlerini ekleyerek bölümleriniz için montaj seçeneklerini düzenleyin./home partition, bir şeyi bozmakla ilgileniyorsanı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 yazmaların en aza indirilmesi

Kritik bir ürün sunucusu çalıştırmadığınızı varsayalım, çoğu insan günlüklere bakmazsa bir şeylerin yanlış gitmesi gerekir (özellikle çoğu Ubuntu kullanıcısı için ciddi hatalar nadirdir). Bu nedenle, Ubuntu'yu tüm günlükler SSD yerine RAM belleğe yazılacak şekilde yapılandırabilirsiniz.

Not: yalnızca kullanacağınız tüm yazılımı (özellikle Apache web sunucusu gibi) yüklediğinizde aşağıdaki değişiklikleri yapın, aksi halde/var/log içindeki eksik dizinlerle ilgili bazı sorunlar yaşayabilirsiniz.

Bu yaklaşımın arka planı için bkz. buntu-eee.com adresinde flash sürücünüzün ömrünü uzatma

Bir editörle açın /etc/fstab (/ etc/fstab dosyasını yedeklediğinizi varsayarak)

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 bakınız:

108
jr0cket

SSD Hayat

Genelde rahatsız olmazdım - SSD hayatıyla ilgili endişeler abartılıyor. Bunu okuyabilirsiniz neden gerçekten endişelenmemelisiniz hakkında detaylı makale . Kısacası, modern SSD'lerin içindeki devre sizin için aşınma seviyesini yönetir ve sizden daha iyi yapmayı bilirler.

Makalede, sürekli olarak 80M/s hızında yazma yapan bir SSD'nin ömrünün hesaplanmasıdır. Ömrü 51 yıl . Bu, 2007 teknolojisine dayanıyor - SSD ömrü artık daha uzun olacak. Neredeyse kesinlikle SSD'nize günde 24 saatte 80M/s'de yazmıyorsunuz.

SSD Performansı

Ancak zaman içindeki performansın düşmesi bir sorun olabilir ve TRIM çözümdür. İki seçenek vardır.

  • otomatik/çevrimiçi TRIM, aka atma
  • manuel TRIM

Otomatik TRIM'i kendiniz etkinleştirin . (Temel olarak, ext4 kullanıyorsanız, takma seçeneklerinize discard seçeneğini eklersiniz.). Atma seçeneği yavaşladığını bildiren bir blog yazısı buldum dosyaları silerken sisteminiz .

Zaman zaman manuel olarak (veya bir cron işinde) fstrim kullanarak) yapabilirsiniz. Sadece 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. Daha eski sistemler için wiper.sh betiğine ihtiyacınız olacak. Komut dosyasını sistemimde /usr/share/doc/hdparm/contrib/wiper.sh.gz konumunda buldum.

Merak ediyorsanız, TRIM'in Wikipedia tarafından tanımlandığı gibi) çözdüğü problem:

SSD'ler, sayfalar halinde gruplanmış flash bellek hücrelerinde, sayfalar (tipik olarak her biri 4 kB) bloklar halinde gruplandırılmış (blok başına tipik olarak 128 sayfa, toplam 512 kB) depolar. NAND flash bellek hücreleri yalnızca boş olduklarında doğrudan yazılabilir. Veri içerdikleri düşünülürse, bir yazma işlemi güvenli bir şekilde gerçekleştirilmeden önce 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, SSD ortamına veri yazmak, boş sayfalar kullanılabildiği sürece çok hızlıdır, ancak önceden yazılmış sayfaların üzerine yazılması gerektiğinde bir kez daha yavaşlar . Sayfadaki hücrelerin silinmesi, yeniden yazılmadan önce gerekli olduğundan, ancak yalnızca tüm bloklar silinebildiğinden, üzerine yazma, okuma-silme-değiştirme-yazma döngüsünü başlatır: bloğun tümünün içeriği, flaş ortamında etkin bir şekilde silinmeden önce önbellekte saklanmalıdır, daha sonra üzerine yazılan sayfa önbellekte değiştirilir, böylece önbellekteki blok günceldir ve yalnızca o zaman tüm bloğudur (güncellenmiş sayfa ile birlikte). ) flaş ortamına yazılmış . Bu fenomen yazma amplifikasyonu olarak bilinir.

92
Hamish Downer

Birkaç nokta var:

Hizalama:

Sıkça işaret edilen bölümün hakkı hizalama 'dır. Bu, SSD'nin blok boyutuna eşit olmalıdır. Güvenli oyna ve bölümlerini MiB sınırlarına göre hizala. Bunu Ubuntu yükleyicisinin bölümleme aracıyla (MiB değil MB kullanan) yapamayacağınızı unutmayın, ancak canlı CD'yi önyükleyebilir, Gparted (MiB kullanan) kullanın ve ardından kurduğunuz bölümleri kullanmak için Kur'a tıklayın.

Doğru zamanlayıcı:

Önemli bir nokta zamanlayıcı olan noop olmalıdır. Bu zamanlayıcıyı, rc.local içindeki kernelparametre elevator=noop veya bir echo noop > /sys/block/sda/queue/scheduler girişi ile ayarlayabilirsiniz.

Mountflags:

noatime ve discard tavsiye ederim

tmpfs

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

Genel olarak bu konuya daha derine dalmak istersen tavsiye ederim this mükemmel wiki-makale.

20
Sebastian Rühl

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

dosya sistemi

Arch wiki bahseder SSD dosya sistemi için birkaç tercih edilebilir seçenek - bunlardan biri kararsız, diğerleri ext * seçeneklerinden biri. Sanırım ext4 en iyi seçimlerden biri.
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 var:

  • > = 2 gig belleğe sahip sistemler için, RAM içinde/tmp'nin bulunması istenir.
  • swap bölümü yok. Günümüzde sadece hazırda bekletme için gerekli, çünkü modern makineler oldukça fazla miktarda RAM'e sahip.
  • noatime ve discard seçenekleri. Bilgi burada .

zamanlayıcı

Çoğu Linux dağıtımının altında cfq (tamamen adil kuyruğa alma) olan varsayılan zamanlayıcıdan, SSD için noop veya son tarih zamanlayıcısına geçmeyi düşünün. Örneğin noop zamanlayıcısının kullanılması, verilerin fiziksel olarak diskte nerede bulunduğuna dikkat etmeden, istekleri alındıkları sırayla 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.

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

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

bilgi

biriki

16

4) otomatik TRIM’i etkinleştir

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

8
Uli

TRIM, bir işletim sisteminin hangi veri bloklarının artık kullanılmadığını ve dahili olarak silinebileceğini SSD'ye bildirmesini sağlar. Kırpma, SSD'nin çöp toplama işlemini başa çıkmasını sağlar; bu, gelecekteki yazma işlemlerini ilgili bloklara önceden önemli ölçüde yavaşlatır. 1

Ubuntu 14.04'te, SSD'leri otomatik olarak otomatik olarak kesen util-linux paketine yeni bir özellik eklendi, ancak yalnızca Intel ve Samsung SSD'lerinde varsayılan olarak TRIM etkin , çünkü bazı ucuz SSD'ler TRIM'i çalıştırırken kendilerini bile tuğlalayabilirler.2 Ubuntu 14.04'deki /etc/cron.weekly/fstrim 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

1https://en.wikipedia.org/wiki/Trim_%28computing%29
2Trim nasıl etkinleştirilir?

3
karel

Bu satırı fstab'ınıza eklemeyeceğim, var/tmp klasörü yeniden başlatmaları sağlamaya yöneliktir ve bu sizin için sorunlara neden olabilir.

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

Yeni bir sistem yapılandırdığımda tüm tmp klasörlerini bu şekilde yorumda bırakıyorum, eğer bir şey olursa günlükleri ve eşyaları kontrol edebilirim. Sonra ana sistem kurulumuna sahip olduktan sonra yorumunu kaldırırım, ancak yukarıdaki satırı hiçbir zaman eklemem, işte kullandığım şey:

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şlatma veya zorla başlatma sonrasında bile her şeyi kontrol edebilecekleri bir kilitlenmeden sonra yorumlarım.

Ayrıca, zamana ihtiyaç duymuyorsunuz, evlilik opsiyonu her ikisine de kendiliğinden bakıyor.

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

gksu gedit /etc/cron.daily/trim

Sonra bunu dosyaya ekleyin ve kaydedin (ssd üzerinde ayrı/ana bölümünüz yoksa veya ssd'de başka bölümleriniz yoksa, bunu nasıl değiştireceğiniz hakkında fikir edinmelisiniz:

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

Ardından dosyayı çalıştırılabilir duruma getirin:

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

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

gksu gedit /etc/rc.local

Bunu "çıkış 0" ın üstüne ve son #'nin altına 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ırabilirsiniz, böylece herhangi bir hata olmaz.

Ayrıca, SSD sürücünüzün% 10'unun biçimlendirilmemiş olarak bırakılmasının, görülmesi gereken ömrü uzatmaya yardımcı olabileceğini de okudum. Bu konuyu fazla okumamıştım, bu yüzden mantıklı geldiğinde kefil olamam.

Bu, tüm rehber etrafında en iyisidir, Google’ı bir günlüğüne dolamıyordu ve sonra bir rehber buluyordu, kontrol etmelisin HERE

3
JohnRB

Bazı iyi bilgiler vardır --- Ubuntu, Linux Nane için SSD'yi Tweak ve optimize etmek http://namhuy.net/1563/how-to-Tweak-and-optimize-ssd-for-ubuntu-linux-mint .html ilginizi çekebilir

Önyükleme kullan

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

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

Değişiminizi kapatın

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

$ su -
# nano /etc/sysctl.conf

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

vm.swappiness = 10
2
Sue Russell

/var/tmp öğesinin tmpfs içerisinde olmaması gerektiği açıktır, çünkü tanımı gereği içeriği yeniden başlatılmayacak şekilde korunmalıdır:

2
user95602

Tamam "uzun lafın kısası":

  1. Evet. Normal bir hdd gibi. İşte iyi bir genel bakış.
  2. Bazı özel ekstralar, anlatacağım.
  3. Oldukça iyi. Bir sunucu ile kullanıyorum.

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

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

Bu, geçici dosyalarınız için yaşlanmayı azaltacak bir ramdrive oluşturacaktır. Ayrıca, varsayılan ayarlardan sonra ext4 satırınıza noatime,nodiratime,discard ekleyin. Bu aynı zamanda aşınmayı azaltır ve TRIM işlevini etkinleştirir. Kaydet ve yeniden başlat.

2
gajdipajti

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

vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10

Yapılandırma dosyasını arka planda bulun, genellikle /etc/syslog.conf или /etc/rsyslog.d/ ve tüm /var/log/ formlarının tüm yollarını eksi işareti ("-") yazarak değiştirin.

/var/log/mail.err

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

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

Diğer http://vasilisc.com/speedup_ubuntu_eng#speedup_fs

buntu, Linux Mint için SSD Nasıl Tweak ve optimize edilir

TRIM’i etkinleştir

TRIM (Trim komutu, bir işletim sisteminin hangi SSD bloklarının kullanılmadığını ve silinebileceğ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

Ext4'ten sonra ssd sürücülerinize veya bölümlerinize atın

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

noatime ve nodiratime, linux dosya sistemi için linux'ta montaj seçenekleridir. noatime dosya sistemindeki atime güncellemelerini devre dışı bırakır ve nodiratime, dizin sistemindeki atime güncellemelerini devre dışı bırakır. Noatime ve nodiratime eklenmesi, ssd yükünü büyük ölçüde azaltacak, performans kazancı anlamına gelir.

Fstab dosyasını düzenle

# nano /etc/fstab

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

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