it-swarm-vi.com

Làm cách nào để tối ưu hóa HĐH cho SSD?

Cần thực hiện các bước nào trước/trong/sau khi cài đặt Ubuntu trên Ổ đĩa thể rắn để tối ưu hóa hiệu suất và đảm bảo độ bền tối đa của ổ đĩa?

146
Lars Haugseth

Tôi đã sử dụng thành công một số kỹ thuật khác nhau để cải thiện cách Ubuntu sử dụng thiết bị lưu trữ, cho dù đó là trạng thái rắn hay ổ đĩa truyền thống.

Đối với SSD, bạn đang tìm cách giảm thiểu số lần ổ đĩa được ghi, vì đọc không nên thêm hao mòn cho ổ đĩa.

1) Quản lý tệp hoán đổi

Nếu bạn không ngủ đông máy tính của mình và bạn có đủ bộ nhớ RAM để chạy tất cả các ứng dụng của mình, thì theo lý thuyết bạn không cần phân vùng trao đổi.

Nếu bạn có sự kết hợp giữa SSD và ổ cứng, chỉ đặt phân vùng trao đổi của bạn trên các ổ đĩa cứng.

2) Không ghi vào dấu thời gian đọc (phù hợp với ổ cứng và ổ cứng SSD)

Gắn kết các phân vùng của bạn với các tùy chọn noatime gật đầu sẽ dừng ghi dấu thời gian khi bạn đọc tập tin và thư mục. Những dấu thời gian này thường không được yêu cầu trừ khi bạn sử dụng máy khách thư cục bộ như mutt. Lý do đây thường là một ý tưởng tồi, bởi vì mỗi lần đọc sẽ tạo ra một ghi khi cập nhật dấu thời gian. Điều này làm giảm tuổi thọ của SSD.

Chỉnh sửa tệp cấu hình /etc/fstab của bạn (cẩn thận - sao lưu để đảm bảo rằng việc phá vỡ cấu hình fstab của bạn có thể ngăn hệ thống của bạn hoạt động):

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

Chỉnh sửa các tùy chọn gắn kết cho các phân vùng của bạn bằng cách thêm văn bản vào giữa trưa và gật đầu vào các dòng xác định gốc (/) và các phân vùng khác nếu bạn có chúng (/ home) - Lưu ý: nếu bạn có/home phân vùng, bắt đầu với việc chỉ thay đổi phân vùng đó nếu bạn lo lắng về việc phá vỡ thứ gì đó

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

Bạn sẽ cần phải khởi động lại máy trước khi những thay đổi này có hiệu lực

3) Tối thiểu hóa ghi từ HĐH và ứng dụng

Giả sử rằng bạn không chạy máy chủ sản phẩm quan trọng, hầu hết mọi người không xem nhật ký nên có lỗi xảy ra (đặc biệt là lỗi nghiêm trọng rất hiếm đối với hầu hết người dùng Ubuntu). Do đó, bạn có thể định cấu hình Ubuntu để tất cả các bản ghi được ghi vào bộ nhớ RAM chứ không phải SSD.

Lưu ý: chỉ thực hiện các thay đổi sau khi bạn đã cài đặt tất cả phần mềm bạn sẽ sử dụng (đặc biệt là những thứ như máy chủ web Apache), nếu không, bạn có thể gặp một số vấn đề với các thư mục bị thiếu trong/var/log

Để biết thông tin cơ bản về phương pháp này, hãy xem kéo dài tuổi thọ của ổ đĩa flash của bạn trên ubfox-eee.com

Mở /etc/fstab bằng trình chỉnh sửa (giả sử bạn đã sao lưu tệp/etc/fstab)

gksudo gedit /etc/fstab

Thêm các dòng sau vào cuối tệp fstab và lưu:

# 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

Bạn sẽ cần phải khởi động lại máy trước khi những thay đổi này có hiệu lực

Xem thêm:

108
jr0cket

Cuộc sống SSD

Nói chung tôi sẽ không bận tâm - những lo lắng về tuổi thọ SSD đã bị thổi phồng. Bạn có thể đọc điều này bài viết chi tiết về lý do tại sao bạn thực sự không nên lo lắng . Nói tóm lại, mạch bên trong các ổ SSD hiện đại quản lý mức độ hao mòn cho bạn và họ biết cách làm điều đó tốt hơn bạn nhiều.

Trong bài viết là một tính toán về tuổi thọ của SSD đang nhận ghi với tốc độ liên tục 80M/s. Cuộc sống là 51 năm . Đó là dựa trên công nghệ năm 2007 - tuổi thọ SSD sẽ dài hơn bây giờ. Và bạn gần như chắc chắn không ghi vào ổ SSD của mình với tốc độ 80M/giây 24 giờ một ngày.

Hiệu suất SSD

Tuy nhiên, sự suy giảm hiệu suất theo thời gian có thể là một vấn đề và TRIM là giải pháp. Có hai lựa chọn

  • tRIM tự động/trực tuyến, còn gọi là loại bỏ
  • thủ công TRIM

Bạn phải tự bật TRIM tự động . (Về cơ bản, bạn thêm tùy chọn discard vào tùy chọn gắn kết của mình, miễn là bạn đang sử dụng ext4.) Tôi đã tìm thấy một bài đăng blog báo cáo rằng tùy chọn hủy làm chậm hệ thống của bạn khi xóa tệp .

Thỉnh thoảng bạn có thể thực hiện thủ công (hoặc trong công việc định kỳ) bằng cách sử dụng fstrim . Nếu bạn chỉ có một phân vùng thì tất cả những gì bạn cần làm là:

Sudo fstrim /

Lưu ý rằng fstrim chỉ có sẵn trong 11.10 và mới hơn. Đối với các hệ thống cũ hơn, bạn sẽ cần tập lệnh wiper.sh. Tôi đã tìm thấy tập lệnh tại /usr/share/doc/hdparm/contrib/wiper.sh.gz trên hệ thống của mình.

Nếu bạn đang tự hỏi, vấn đề mà TRIM giải quyết, như được mô tả bởi Wikipedia , là:

SSD lưu trữ dữ liệu trong các ô nhớ flash được nhóm thành các trang, với các trang (thường là 4 kB mỗi nhóm) được nhóm lại thành các khối (thường là 128 trang trên mỗi khối, tổng cộng 512 kB). Các ô nhớ flash NAND chỉ có thể được ghi trực tiếp vào khi chúng trống. Nếu chúng được coi là chứa dữ liệu, trước tiên nội dung cần được xóa trước khi thao tác ghi có thể được thực hiện một cách đáng tin cậy. Trong SSD, thao tác ghi có thể được thực hiện ở cấp độ trang, nhưng do giới hạn phần cứng, các lệnh xóa luôn ảnh hưởng đến toàn bộ các khối. Do đó, ghi dữ liệu vào phương tiện SSD rất nhanh miễn là có thể sử dụng các trang trống, nhưng chậm lại đáng kể khi các trang được viết trước đó cần được ghi đè . Vì cần phải xóa các ô trong trang trước khi có thể viết lại, nhưng chỉ có thể xóa toàn bộ khối, ghi đè sẽ bắt đầu chu trình đọc-xóa-sửa đổi-ghi: nội dung của toàn bộ khối phải được lưu trữ trong bộ đệm trước khi bị xóa một cách hiệu quả trên phương tiện flash, sau đó trang bị ghi đè được sửa đổi trong bộ đệm để khối được lưu trữ được cập nhật và chỉ sau đó là toàn bộ khối (với trang được cập nhật ) được ghi vào phương tiện flash . Hiện tượng này được gọi là khuếch đại ghi.

92
Hamish Downer

Có một số điểm:

Sắp xếp:

Điều thường được chỉ ra là quyền căn chỉnh của phân vùng. Điều này phải bằng kích thước khối của SSD. Chơi an toàn và làm cho các phân vùng của bạn được căn chỉnh theo ranh giới MiB. Lưu ý rằng bạn không thể làm điều này với công cụ phân vùng của trình cài đặt Ubuntu (sử dụng MB không phải MiB), nhưng bạn có thể khởi động CD trực tiếp, sử dụng Gparted (sử dụng MiB), sau đó nhấp vào Cài đặt để sử dụng các phân vùng bạn thiết lập.

Công cụ lên lịch đúng:

Một điểm quan trọng là trình lập lịch biể sẽ là noop. Bạn có thể đặt lịch trình này thông qua kernelparameter elevator=noop hoặc thông qua một mục echo noop > /sys/block/sda/queue/scheduler trong RC.local của bạn.

Mountflags:

Tôi muốn giới thiệu noatimediscard

Tmpfs

Để đặt tmp trên ramdisk có thể tăng thời gian sống của ssd. Để sử dụng, hãy đặt dòng sau vào fstab của bạn: none /tmp tmpfs defaults 0 0

Nói chung nếu bạn muốn tìm hiểu sâu hơn về chủ đề này, tôi muốn giới thiệu this bài viết wiki tuyệt vời.

20
Sebastian Rühl

Khóa học điều chỉnh nhanh cho SSD của bạn trên Ubuntu:

hệ thống tập tin

Arch wiki đề cập vài tùy chọn thích hợp hơn cho hệ thống tệp SSD - một trong số chúng không ổn định, một số khác là ext *. Tôi giả sử ext4 là một trong những lựa chọn tốt nhất.
[.__.] Lưu ý: Trong trường hợp ext4 bạn có thể muốn sử dụng tùy chọn gắn kết 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

Vài điều quan trọng ở đây là:

  • Đối với các hệ thống có> = 2 hợp đồng bộ nhớ, việc định vị/tmp trong RAM là mong muốn.
  • Không có phân vùng swap. Ngày nay, nó chỉ cần cho ngủ đông, vì các máy móc hiện đại có dung lượng RAM khá lớn.
  • Tùy chọn noatimediscard. Thông tin là ở đây .

bộ lập lịch

Xem xét chuyển đổi từ bộ lập lịch mặc định, trong hầu hết các bản phân phối Linux là cfq (xếp hàng hoàn toàn công bằng), sang bộ lập lịch noop hoặc hạn chót cho SSD. Ví dụ, sử dụng bộ lập lịch noop, chỉ cần xử lý các yêu cầu theo thứ tự chúng được nhận, mà không đưa ra bất kỳ xem xét nào về nơi dữ liệu nằm trên đĩa. Tùy chọn này được cho là có lợi cho SSD vì thời gian tìm kiếm là giống hệt nhau cho tất cả các lĩnh vực trên SSD.

Thêm sau vào /etc/rc.local :

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

thông tin

mộthai

16
Andrejs Cainikovs

4) bật TRIM tự động

Nếu SSD của bạn hỗ trợ nó, bạn cũng nên bật TRIM tự động (như được mô tả tại đây )

8
Uli

TRIM cho phép hệ điều hành thông báo cho SSD mà khối dữ liệu không còn được xem xét sử dụng và có thể bị xóa trong nội bộ. Việc cắt xén cho phép SSD xử lý chi phí thu gom rác, điều này sẽ làm chậm đáng kể các hoạt động ghi trong tương lai tới các khối liên quan. 1

Trong Ubuntu 14.04, một tính năng mới đã được thêm vào gói produc-linux thường xuyên tự động cắt SSD, nhưng chỉ có SSD Intel và Samsung được bật TRIM theo mặc định , bởi vì một số ổ SSD giá rẻ thậm chí có thể tự gạch khi chạy TRIM.2 Nội dung của /etc/cron.weekly/fstrim trong 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
2Trim được kích hoạt như thế nào?

3
karel

Tôi sẽ không thêm dòng này vào fstab của bạn, thư mục var/tmp có nghĩa là để tồn tại khi khởi động lại và điều đó có thể gây ra sự cố cho bạn.

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

Khi tôi định cấu hình hệ thống mới, tôi để tất cả thư mục tmp nhận xét theo cách này nếu có bất cứ điều gì xảy ra tôi có thể kiểm tra nhật ký và nội dung. Sau đó, khi tôi có thiết lập hệ thống chính, tôi sẽ bỏ bình luận cho họ, nhưng tôi không bao giờ thêm dòng trên, đây là những gì tôi sử dụng:

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

Và nếu tôi gặp bất kỳ vấn đề nào với hệ thống của mình, tôi sẽ bình luận những vấn đề đó để có thể kiểm tra mọi thứ ngay cả sau khi khởi động lại hoặc bắt buộc khởi động lại sau khi khóa máy.

Ngoài ra, bạn không cần gật đầu, tùy chọn noatime tự chăm sóc cả hai.

Đối với TRIM, nếu hw/sw của bạn hỗ trợ nó, đó là điều bắt buộc, tôi không sử dụng loại bỏ trong fstab. Tôi tạo một cron hàng ngày, bởi vì PC của tôi luôn bật, bằng cách này:

gksu gedit /etc/cron.daily/trim

Sau đó thêm phần này vào tệp và lưu (Nếu bạn không có phân vùng riêng/nhà trên ssd hoặc có các phần khác trên ssd, bạn nên biết cách sửa đổi điều này:

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

Sau đó làm cho tập tin thực thi bằng cách:

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

Tôi cũng chỉnh sửa RC.local của mình như vậy:

gksu gedit /etc/rc.local

Thêm cái này ở trên "exit 0" và bên dưới #:

# 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

Bạn có thể sao chép và dán từ đây để không có lỗi, đối với cư sĩ, nó trông có vẻ không hợp lý, không phải vậy.

Tôi cũng đã đọc rằng để lại 10% ổ đĩa ssd của bạn không được định dạng có thể giúp kéo dài tuổi thọ, điều đó vẫn còn được nhìn thấy. Tôi chưa đọc nhiều về điều này vì vậy tôi không thể đảm bảo nếu nó hợp lý để làm như vậy.

Đây là hướng dẫn tốt nhất xung quanh, anh ấy đã không đọc lướt qua Google trong một ngày và sau đó đưa ra một hướng dẫn, bạn nên kiểm tra nó ĐÂY

3
JohnRB

Có một số thông tin tốt Cách tinh chỉnh và tối ưu hóa SSD cho Ubuntu, Linux Mint từ http://namhuy.net/1563/how-to-Tweak-and-optizes-ssd-for-ubfox-linux-mint .html bạn có thể quan tâm đến

Sử dụng tải trước

Để cài đặt tải trước trên Ubuntu, Linux Mint hoặc các bản phân phối dựa trên debian

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

Tắt trao đổi của bạn

Để thay đổi cài đặt swappiness:

$ su -
# nano /etc/sysctl.conf

Và thêm dòng này vào tập tin sysctl.conf.

vm.swappiness = 10
2
Sue Russell

Rõ ràng là /var/tmp không nên ở trong tmpfs vì theo định nghĩa, nội dung của nó cần được bảo tồn ngoài khởi động lại:

2
user95602

Ok "truyện dài ngắn":

  1. Vâng. Nó giống như một hdd bình thường. Ở đây là một tổng quan tốt.
  2. Một số bổ sung đặc biệt, mà tôi sẽ bao gồm.
  3. Khá tốt. Tôi sử dụng nó với một máy chủ.

Định dạng là ext4 trong khi cài đặt và tạo một trao đổi nhỏ ~ 1 GB. Sau khi cài đặt chỉnh sửa fstab với Sudo gedit /etc/fstab và thêm dòng sau

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

Điều này sẽ tạo ra một ramdrive cho các tệp tạm thời của bạn, điều này sẽ làm giảm sự lão hóa. Đồng thời thêm noatime,nodiratime,discard vào dòng ext4 của bạn sau khi mặc định. Điều này cũng sẽ giảm hao mòn và kích hoạt chức năng TRIM. Lưu và khởi động lại.

2
gajdipajti

Cần có UPS. Trong tệp /etc/sysctl.conf

vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10

Tìm trình nền của tệp cấu hình, thường là /etc/syslog.conf и mô /etc/rsyslog.d/ và tất cả các đường dẫn của biểu mẫu /var/log/ thay đổi bằng cách viết dấu trừ ("-") trước các cách. Trước khi gửi thư.

/var/log/mail.err

Sau
[.__.] mail.err -/var/log/mail.err

sử dụng FS btrfs và sử dụng tùy chọn -o ssd

Khác http://vasilisc.com/speedup_ubfox_eng#speedup_fs

Cách tinh chỉnh và tối ưu hóa SSD cho Ubuntu, Linux Mint

Kích hoạt TRIM

TRIM (Lệnh Trim cho hệ điều hành biết khối SSD nào không được sử dụng và có thể bị xóa)

Sao lưu fstab đầu tiên trong trường hợp có điều gì đó sai xảy ra.

# cp /etc/fstab ~/fstab.bk

Chỉnh sửa tập tin fstab

# nano /etc/fstab

Thêm loại bỏ vào ổ đĩa ssd hoặc phân vùng của bạn, sau ext4

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

noatime và gật đầu là các tùy chọn gắn kết trong linux cho hệ thống tập tin linux. noatime vô hiệu hóa cập nhật atime trên hệ thống tập tin, và gật đầu sẽ vô hiệu hóa cập nhật atime trên hệ thống thư mục. Bằng cách thêm noatime và gật đầu sẽ giảm đáng kể tải ssd có nghĩa là tăng hiệu suất.

Chỉnh sửa tập tin fstab

# nano /etc/fstab

Thêm noatime, gật đầu vào ổ đĩa hoặc phân vùng ssd của bạn, sau ext4

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

Tôi khuyên bạn chỉ nên đặt những thứ được đọc vào lúc khởi động trên SSD bất kỳ ứng dụng nào có thể cần nhiều thời gian để tải. Dữ liệu và nhật ký và những thứ không chính xác khác mà tôi sẽ tìm thấy trên ổ cứng thông thường. Ngoài ra, bạn có thể thiết lập Ubuntu của mình để chỉ tải một initramfs lớn từ SSD khi khởi động và không ghi lại các thay đổi vào ssd. Điều này có lợi ích, những thay đổi đối với phân vùng này không tồn tại, nó giống như một sự bảo vệ cho hệ thống khởi động của bạn. Vì vậy, bạn sẽ cần nhiều hơn nữa RAM tất nhiên.

Tôi sẽ lấy ví dụ đặt các phân vùng /,/etc,/usr,/boot,/lib 32/64 trên SSD trong khi sth like

/ opt,/bin,/sbin,/root,/home và thậm chí trao đổi (tăng RAM !!!) trên ổ cứng

Wikipedia nói:

Nhân Linux hỗ trợ chức năng TRIM bắt đầu với phiên bản 2.6.33. Hệ thống tệp ext4 được hỗ trợ khi được gắn bằng tham số "loại bỏ". Các tiện ích đĩa gần đây nhất (và do đó cài đặt phần mềm sử dụng chúng) cũng áp dụng căn chỉnh phân vùng thích hợp.

Đối với các bản sao lưu có nhiều cách, đơn giản nhất là (r) đồng bộ cộng với công việc định kỳ.

0
Michael K