TRIM có được bật trên bản cài đặt Ubuntu 18.04 của tôi không?


38

Tôi biết rằng TRIM hàng tuần được bật theo mặc định từ 14.10 trở đi. Nguồn: Làm thế nào để kích hoạt TRIM? Nhưng chạy sudo nano /etc/cron.weekly/fstrimtrả về một tập tin trống. Cũng tail -n1 /etc/cron.weekly/fstrimnói rằng tập tin này không tồn tại.

Chạy lsblk -Dtrả về giá trị khác không cho DISC-GRANDISC-MAX vì vậy TRIM được hỗ trợ trên SSD của tôi. TRIM hàng tuần có thực sự được kích hoạt cho SSD của tôi hay không?

Tôi đang sử dụng ổ SSD Kingston

Câu trả lời:


59

Trim (fstrim / disard) được bật để chạy hàng tuần theo mặc định vào ngày 18.04.
Nó được thiết lập để chạy cho tất cả các hệ thống tập tin được gắn trên các thiết bị hỗ trợ loại bỏ hoạt động.

Đây là một systemddịch vụ được quản lý thông qua systemctl, không phải CRON.

Xem trạng thái fstrim.timer :

$ systemctl status fstrim.timer
● fstrim.timer - Discard unused blocks once a week
   Loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: enabled)
   Active: active (waiting) since Thu 2018-07-05 05:45:11 BST; 4h 42min ago
  Trigger: Mon 2018-07-09 00:00:00 BST; 3 days left
     Docs: man:fstrim

Bắt đầu / Dừng / Khởi động lại fstrim.timer :
(không thay đổi trạng thái khởi động)

$ sudo systemctl [start/stop/restart] fstrim.timer

Bật / Tắt fstrim.timer :
(thêm vào / xóa khỏi khởi động, không thay đổi trạng thái hoạt động hiện tại)

$ sudo systemctl [enable/disable] fstrim.timer

Xem cấu hình fstrim.timer :

$ systemctl cat fstrim.timer
# /lib/systemd/system/fstrim.timer
[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim

[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true

[Install]
WantedBy=timers.target

Xem cấu hình fstrim.service :

$ systemctl cat fstrim.service
# /lib/systemd/system/fstrim.service
[Unit]
Description=Discard unused blocks

[Service]
Type=oneshot
ExecStart=/sbin/fstrim -av

Lưu ý : ExecStart = / sbin / fstrim -av
Trong đó:
-a , Cắt tất cả các hệ thống tệp được gắn trên các thiết bị hỗ trợ loại bỏ hoạt động.
-v , thực hiện dài dòng. Xuất số byte được truyền từ hệ thống tập tin xuống ngăn xếp khối cho thiết bị để loại bỏ tiềm năng.

Xem các mục tạp chí systemd liên quan :

$ journalctl -u fstrim.timer
Jul 04 14:18:41 user-laptop systemd[1]: Started Discard unused blocks once a week.
Jul 04 21:59:26 user-laptop systemd[1]: Stopped Discard unused blocks once a week.
etc...

$ journalctl -u fstrim.service
Jun 25 10:59:44 user-laptop systemd[1]: Starting Discard unused blocks...
Jun 25 10:59:48 user-laptop fstrim[955]: /: 92.5 GiB (99335237632 bytes) trimmed
Jun 25 10:59:48 user-laptop systemd[1]: Started Discard unused blocks.
-- Reboot --
Jul 02 04:27:41 user-laptop systemd[1]: Starting Discard unused blocks...
Jul 02 04:27:46 user-laptop fstrim[1032]: /: 92.3 GiB (99150807040 bytes) trimmed
Jul 02 04:27:46 user-laptop systemd[1]: Started Discard unused blocks.
etc...

2
Để tham khảo, thời điểm được điều khiển bởi /lib/systemd/system/fstrim.timer( OnCalendar=weekly) và những gì bởi /lib/systemd/system/fstrim.service( ExecStart=/sbin/fstrim -av).
Moilleadóir

1
Bài tốt! Tôi đề nghị bạn thay đổi các lệnh "cat" bằng các lệnh systemctl chuyên dụng: cat /lib/systemd/system/fstrim.timer -> systemctl cat fstrim.timer. Nói chung, lệnh đó hiển thị phiên bản của dịch vụ có hiệu lực. Đó có thể là một trong / lib / systemd, nhưng nó cũng có thể là một phiên bản sửa đổi trong / etc / systemd.
vanadi

Khi nó hoạt động, nó có làm điều đó cho tất cả các trình điều khiển không? Ví dụ: tôi đã cài đặt Ubuntu trong một ổ SSD nhưng có một ổ SSD khác được gắn dưới dạng phân vùng ext4. Nó sẽ cắt cả hai tự động? (trạng thái nói rằng nó đang hoạt động)
Eduardo

Làm thế nào để kích hoạt nó theo yêu cầu? (ví dụ như bây giờ, tôi muốn đi ăn trưa)
dao cạo

Bạn có thể tự khởi động / dừng / khởi động lại bất kỳ dịch vụ systemd nào bằng: $ sudo systemctl [start / stop / restart] [tên dịch vụ] .service
Broadsworde

2

Chỉnh sửa: Xin vui lòng đọc các ý kiến, câu trả lời này trộn lẫn hai cơ chế!

Câu trả lời cũ

có một điểm quan trọng cần được thêm vào câu trả lời của @Broadsworde để hoàn thành nó.

Mặc dù trên máy tính xách tay của tôi, tất cả các bộ hẹn giờ và dịch vụ đã được bật, mục nhật ký fstrim bị thiếu (chỉ: starting… stopping… reboot… starting…v.v.).

Thiếu bước

Bạn có thể cần đánh dấu các hệ thống tệp là loại bỏ . Nếu một hệ thống tập tin không được đánh dấu là có thể loại bỏ, phần cắt sẽ bỏ qua nó [1].

Để đánh dấu một hệ thống tập tin là có thể loại bỏ, bạn có hai tùy chọn:

1. Tùy chọn: tune2fs

sudo tune2fs -o discard /dev/mapper/ubuntu--vg-root

Điều này sẽ đặt tùy chọn loại bỏ làm mặc định cho thiết bị ext4 của tôi. Nếu bạn không sử dụng mã hóa, hãy thử /dev/sdathay thế.

2. Tùy chọn: /etc/fstab

Đảm bảo thêm hoặc thêm tùy chọn discardvào tùy chọn gắn kết hiện có của bạn. Ví dụ như thế này:

/dev/mapper/ubuntu--vg-root / ext4 discard,relatime,errors=remount-ro 0 1

Chỉ sau này, dịch vụ hẹn giờ sẽ thực sự làm một cái gì đó.

Chú thích

  • [1] thực sự, thiết bị cần hỗ trợ TRIMhoạt động. Nhưng trên linux, đây là một cờ hệ thống tập tin. Tuy nhiên, thiết bị mà hệ thống tập tin đang chạy cần hỗ trợ cho TRIMhoạt động. Để xem thiết bị của bạn có hỗ trợ hay không, hãy sử dụng : sudo hdparm -I /dev/sda | grep -i TRIM.

Trong cài đặt của tôi (ban đầu là 18.10; sau đó được nâng cấp lên 19.04), các hệ thống tập tin không có tùy chọn loại bỏ được kích hoạt. Tôi chỉ sử dụng SSD trong hệ thống của mình; và nó không bao giờ có bất kỳ HD cơ học. Tôi kích hoạt chúng với Tune2fs . Bất kỳ ý tưởng hoặc giải thích tại sao hệ thống không kích hoạt chúng theo mặc định?
FedonKadifeli

1
Tôi không nghĩ rằng điều này là chính xác. Tùy chọn loại bỏ khối chặn khi các tệp bị xóa khỏi hệ thống tệp. Dịch vụ systemd cắt các khối không sử dụng định kỳ trên hệ thống tệp. Đây là những điều khác nhau. Tùy chọn loại bỏ có thể tác động tiêu cực đến hiệu suất trên một số hệ thống, do đó, tùy chọn định kỳ tốt hơn nhiều.
xioxox

1
@xioxox là đúng. Trang manmount của gần đây nói rằng «Chức năng loại bỏ các lệnh thường xuyên để cho phép thiết bị khối lấy lại không gian được giải phóng bởi hệ thống tập tin. [...] Có thể có tác động hiệu suất đáng kể . (Lệnh fstrim cũng có sẵn để bắt đầu cắt hàng loạt từ không gian người dùng.) »
Fabio A.

Cảm ơn, tôi đã chỉnh sửa câu trả lời. Xin đừng tiếp tục hạ thấp câu trả lời này: Tôi muốn giữ nó vì ý kiến ​​của bạn có giá trị!
Ben
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.