Ubuntu có hỗ trợ lệnh TRIM để sử dụng với SSD không?


34

Ổ đĩa SSD cần được "xóa / đặt lại" sau khi ổ đĩa đầy để duy trì hiệu suất. Điều này được thực hiện thông qua lệnh TRIM cho các ổ SSD mới. Ubuntu có hỗ trợ lệnh TRIM (thông qua hdparm, v.v.) để xóa / đặt lại các ổ đĩa này không?


Câu hỏi hay, mặc dù lưu ý rằng mức độ TRIM cải thiện hiệu suất có khác nhau giữa các SSD, đối với một số người, nó không tạo ra nhiều khác biệt như bạn nghĩ (mặc dù chúng hầu như dường như là chậm hơn).
Hiệp sĩ Nicholas

1
Tôi nghĩ rằng hiệu suất sẽ được khôi phục về cùng (nếu không gần) mặc định của nhà máy. Hãy xem tại đây để được giải thích -> anandtech.com/show/2738/10
ssanj

Câu trả lời:


24

Có vẻ như có hỗ trợ cho chức năng TRIM trong phiên bản 10.10 và mới hơn:

Ngoài ra, các công cụ TRIM sẽ tự động xảy ra - các khối trống sẽ tự động được giải phóng khi chúng không còn cần thiết (ví dụ: bạn xóa một tệp), nếu đĩa báo cáo rằng nó hỗ trợ TRIM. Bạn không phải tự phát lệnh hdparm để làm việc này.


Tôi nghĩ bạn vẫn phải sử dụng các công cụ "đã gửi" lệnh TRIM cho SDD. Thật tốt nếu nó hoạt động như bạn chỉ định. :) Bài viết này của Anandtech -> ( anandtech.com/show/2738/10 ) chỉ định rằng để TRIM hoạt động, cả HĐH và SSD đều cần hỗ trợ TRIM. Tôi đoán câu hỏi của tôi là về sự hỗ trợ của OS / Linux cho TRIM khi được sử dụng với các ổ SSD nhận biết TRIM.
ssanj

3
Lệnh TRIM cần biết (các) khối nào sẽ giải phóng, do đó sẽ rất nguy hiểm khi ban hành lệnh này mà không biết chính xác khối nào trên đĩa không được sử dụng. Có, cả hệ điều hành và đĩa cần phải có hỗ trợ cắt. Trong Linux, điều này đã được thêm vào trong phiên bản kernel 2.6.33, do đó sẽ được đưa vào Maverick. Cả trình điều khiển đĩa mà hệ thống tập tin bạn đang sử dụng cần hỗ trợ trim để điều này hoạt động chính xác. Nếu bạn đang sử dụng ext4 làm hệ thống tệp của mình trên Maverick, bạn sẽ ổn thôi.
Jeremy Kerr

Sau đó, tôi tự hỏi liệu các ổ SSD hiện tại có thể trải qua "TRIM được trang bị thêm" để dọn sạch hành trình hiện có được tích lũy trước khi HĐH hỗ trợ TRIM hay không. Hoặc sẽ cài đặt lại được yêu cầu?
Kent Boogaart

20

Câu trả lời của Jeremy không hoàn toàn chính xác AFAIK. Tôi đã chạy các hạt nhân ổn định mới nhất trên Lucid được một thời gian và đã theo dõi trạng thái TRIM khá sắc sảo khi tôi có OCZ Agility làm đĩa chính.

Đây là những gì (tôi nghĩ) tôi biết:

  • Hạt nhân có hỗ trợ TRIM kể từ 2.6.33 (Maverick là 2.6,35).

  • EXT4 đã hỗ trợ TRIM nhưng chỉ khi nhật ký đã được tắt.

  • Cách TRIM hoạt động trong kernel rất cơ bản và khá chậm. Các đĩa theo thông số kỹ thuật có thể chấp nhận nhiều phạm vi nhưng hạt nhân hiện chỉ có thể thực hiện một phạm vi tại một thời điểm. Điều này đến từ một cái gì đó tôi đọc có lẽ một tháng trước. Tôi ước tôi có nguồn vì điều này có thể không đúng hoặc có thể không áp dụng nữa.

Nhật ký là những gì giết chết nó cho tôi. Tham nhũng dữ liệu là một PITA.

Tuy nhiên, các phiên bản mới hơn của hdparm (v9.25 - Maverick ở phiên bản 27,27) đi kèm với một tập lệnh được gọi là wiper.shthực hiện phân tích nhanh một ổ đĩa và sau đó cắt tất cả các khoảng trống. Thay vì mất các tính năng, tôi thấy việc cron wiper.shchạy một lần một tuần dễ dàng hơn (hoặc một lần một ngày / tháng / bất cứ điều gì). Sự xuống cấp SSD cho ổ đĩa hệ điều hành không xảy ra nhanh như vậy trừ khi bạn liên tục xé nát mọi thứ. Bạn không cần TRIMming thời gian thực.

Ngoài ra còn có một giao diện GUI gọi là DiskTRIM dường như không có trong repos. Người dùng ít kinh nghiệm có thể thấy điều này dễ sử dụng hơn là thiết lập các công việc định kỳ.

Có PPA cho hdparm và đĩaprim và tất cả có thể được chạy trên Lucid (và trở lại) mà không cần hạt nhân 2.6,33+.


Bạn có thể liên kết đến những PPA đó không?
Jorge Castro

Vì vậy, cho phép discardtùy chọn gắn kết cho ext4 vô hiệu hóa tạp chí? Tôi vừa tìm kiếm tài liệu tham khảo nhưng tôi không thể tìm thấy một câu nào ngoài câu trả lời này - bạn có thể cung cấp một nguồn không?
Hamish Downer

2
trong Ubuntu 12.04, wiper.sh đã được thay thế bằng fstrim
tomodachi

1
@Oli: Tôi đã đọc thêm một chút và bây giờ tôi khá chắc chắn rằng tùy chọn loại bỏ không vô hiệu hóa tạp chí. Afaict ban đầu tùy chọn loại bỏ chỉ hoạt động với tạp chí (tôi đã tìm thấy bản vá này cho phép loại bỏ mà không có tạp chí). Trang kernel ext4 ghi lại tùy chọn loại bỏ nhưng không đề cập đến tạp chí không tương thích.
Hamish Downer

8

Linux đã hỗ trợ TRIM tự động với hệ thống tệp ETX4 kể từ kernel 2.6.33.

Bản phát hành Ubuntu đầu tiên có hỗ trợ TRIM tự động là 10.10 (Maveric), nhưng nó phải được kích hoạt trong fstab (như được mô tả ở đây ).


4

Nói chung, có, bởi vì có rất nhiều cách để có được hạt nhân mới hơn. Nếu chúng tôi làm rõ câu hỏi của bạn để đọc, "10.04 LTS có hỗ trợ ngoài lệnh cho lệnh không?" thì câu trả lời là không. Tuy nhiên, cả hạt nhân của Maverick và Natty (-generic, -generic-pae, -server, và -virtual) đã được đưa vào 10.04 LTS và có sẵn từ các bản cập nhật $ phát hành trong kho của Ubuntu, ví dụ, linux-image-generic-lts-backport-maverickbackport của Maverick .


2

Tôi đang chạy 11.04 và có vẻ như TRIM không hoạt động.

Tôi đã thử nghiệm bằng cách sử dụng các hướng dẫn ở đây để tạo một tệp, xóa nó và xem các thành phần có bị xóa / xóa không .

Tôi đã cố gắng kích hoạt TRIM bằng cách sử dụng các hướng dẫn ở đây, nhưng không có xúc xắc

Tôi chạy wiper.sh, tôi nhận được

/sbin/wiper.sh --verbose --commit / dev / sda1
wiper.sh: Tiện ích TRIM SSD SSD Linux, phiên bản 3.3, của Mark Lord.
rootdev = / dev / sda1
fsmode2: fsmode = đọc-ghi
/: fstype = ext4
giải phóng = 13785252 KB, dành riêng = 137852 KB
Chuẩn bị cho TRIM trực tuyến không gian trống trên / dev / sda1 (ext4 gắn đọc-ghi tại /).

Hoạt động này có thể âm thầm phá hủy dữ liệu của bạn. Bạn có chắc chắn (y / N)? y
Tạo tập tin tạm thời (13647400 KB) ..
Đồng bộ hóa đĩa ..
Bắt đầu hoạt động TRIM ..
get_trimlist = / sbin / hdparm --fibmap WIPER_TMPFILE.9689

/ dev / sda:
cắt tỉa 27294800 lĩnh vực từ 462 phạm vi
đã thành công
Xóa tệp tạm thời ..
Đồng bộ hóa đĩa ..
Làm xong.

Tuy nhiên, nếu tôi chạy lại nó, nó sẽ hiển thị cùng một số lĩnh vực / phạm vi cần được cắt bớt và báo cáo thành công một lần nữa. Tôi nhận được chính xác điều tương tự mỗi lần. Nó không giống như các lĩnh vực đã từng bị xóa / giải phóng. Đọc chúng vẫn hiển thị cùng một dữ liệu.

Tò mò nếu bất cứ ai khác có nó để làm việc.


Nếu bạn đã thêm tùy chọn loại bỏ vào fstab và nó vẫn không hoạt động thì đó có thể là một lỗi trong bản alpha. Bạn nên nộp báo cáo lỗi.
Uli

Tôi vừa mới thử nghiệm điều này trong natty (theo các hướng dẫn sau: askubfox.com/questions/18903/how-to-enable-trim ) và nó hoạt động tốt hơn nữa khi sinh, TRIM gần như ngay lập tức.
Uli

Có thể bạn có một ổ SSD không hỗ trợ TRIM - khá nhiều ổ SSD trước đó không hỗ trợ TRIM.
Hamish Downer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.