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?
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?
Câu trả lời:
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 tin hoán đổi
Nếu bạn không ngủ đông máy tính của bạn và bạn có bộ nhớ RAM dồi dào để 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 có Dấu ghi cho 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 và gật đầu sẽ dừng ghi dấu thời gian khi bạn đọc các tệp 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 - hãy sao lưu để chắc chắn vì 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ó phân vùng / home, hãy bắt đầu với việc thay đổi phân vùng đó nếu bạn lo lắng về việc phá vỡ một cái 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ệ điều hành 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 thay vì 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:
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 bài viết chi tiết này 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 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 đời 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.
Tuy nhiên, 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
Bạn phải tự bật TRIM . (Về cơ bản, bạn thêm discard
tùy chọn 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 trên 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 một 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 wiper.sh
kịch bản. Tôi tìm thấy tập lệnh tại /usr/share/doc/hdparm/contrib/wiper.sh.gz
hệ thống của tôi.
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 cần xóa nội dung 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 đó, việc 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 đè. Do việc xóa các ô trong trang là cần thiết trước khi có thể viết lại, nhưng chỉ có thể xóa toàn bộ các 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 nó 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.
Có một số điểm:
Sắp xếp:
Những gì thường được chỉ ra là sự liên kết đúng 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.
Lịch trình phù hợp:
Một điểm quan trọng là lịch trình nên được noop
. Bạn có thể thiết lập 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 noatime
vàdiscard
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 lặn sâu hơn vào chủ đề này, tôi muốn giới thiệu này tuyệt vời wiki bài viết.
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 đến một 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 discard
tùy chọn gắn kết.
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à:
swap
phân vùng. 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.noatime
và discard
các tùy chọn. Thông tin ở đây .Người lập kế hoạ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
/tmp
RAM, rất dễ thoát khỏi tình trạng bộ nhớ , vì rất nhiều chương trình sử dụng /tmp
làm không gian lưu trữ (ví dụ Brasero để lưu trữ hình ảnh DVD).
tmpfs
theo mặc định là 10% RAM. Kích thước có thể được điều chỉnh bằng cách sử dụng size
tùy chọn mặc dù.
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.
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 xem qua TẠI ĐÂY
TRIM cho phép một 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 linux-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, vì một số SSD giá rẻ thậm chí có thể tự gạch khi chạy TRIM. 2 Nội dung /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
1 https://en.wikipedia.org/wiki/Trim_%28computing%29
2 Trim được kích hoạt như thế nào?
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 việc khởi động lại:
Ok "truyện dài ngắn":
Định dạng như 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ẽ làm giảm hao mòn và kích hoạt chức năng TRIM. Lưu và khởi động lại.
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-ubuntu-linux-mint.html bạn có thể hứng thú với
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
Cần có UPS. Trong /etc/sysctl.conf
tệp
vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10
Tìm daemon tập tin cấu hình, thường /etc/syslog.conf
или /etc/rsyslog.d/
và tất cả các đường dẫn có dạng /var/log/
thay đổi bằng cách viết một dấu trừ ( "-") trước ways.Before mail.err
/var/log/mail.err
Sau
mail.err -/var/log/mail.err
sử dụng FS btrfs
và sử dụng -o ssd
tùy chọn
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
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, đó là những thay đổi đối với phân vùng này không tồn tại, điều này giống như một sự bảo vệ cho hệ thống khởi động của bạn. Tất nhiên bạn sẽ cần nhiều RAM hơn.
Tôi sẽ đặ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ỳ.
/root
, /home
và hoán đổi nên được đưa vào SSD cho tốc độ bởi vì nó chủ yếu là read-only. Đối với lợi ích tốc độ, đặt /var
trên SSD quá.
/
phân vùng cho Kubuntu Oneiric mất 4.5GB trên SSD của tôi. 20GB là đủ cho /
âm /home
. Những nỗ lực để điều chỉnh bố cục hệ thống tập tin, trải rộng nó trên một số phân vùng là không đáng.
tmpfs
dòng được nhận xét, vậy tại sao việc thêm các dòng đó lại tạo ra sự khác biệt? Chúng ta có cần thêm nó không bị thiếu?