Ubuntu 18.04 설치에서 TRIM이 활성화되어 있습니까?


37

주간 TRIM은 기본적으로 14.10부터 활성화되어 있음을 알고 있습니다. 출처 : TRIM을 활성화하는 방법? 그러나 running sudo nano /etc/cron.weekly/fstrim은 빈 파일을 반환합니다. 또한 tail -n1 /etc/cron.weekly/fstrim이 파일이 존재하지 않는다고 말합니다.

실행 lsblk -D반환을 비 제로 값 DISC-GRANDISC-MAX TRIM 그렇게하는 것은 내 SSD에서 지원됩니다. 주간 TRIM이 실제로 내 SSD에 활성화되어 있습니까?

Kingston SSD를 사용하고 있습니다

답변:


58

트림 (fstrim / discard)은 기본적 으로 18.04에서 매주 실행되도록 설정되어 있습니다 .
삭제 조작을 지원하는 장치에서 마운트 된 모든 파일 시스템에 대해 실행되도록 설정되어 있습니다.

그것은이다 systemd를 통해 관리 서비스 systemctlCRON 없습니다.

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

fstrim.timer 시작 / 중지 / 다시 시작 :
(시작 상태를 변경하지 않음)

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

fstrim.timer 활성화 / 비활성화 :
(시작에 추가 / 제거, 현재 활성 상태를 변경하지 않음)

$ sudo systemctl [enable/disable] fstrim.timer

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

fstrim.service 구성 보기 :

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

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

참고 : ExecStart = / sbin / fstrim -av
여기서
-a , 삭제 작업을 지원하는 장치에서 마운트 된 모든 파일 시스템을 자릅니다 .
-v , 자세한 실행. 잠재적 폐기를 위해 파일 시스템에서 블록 스택 아래로 장치로 전달 된 바이트 수를 출력합니다.

관련 시스템 분개 보기 :

$ 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
참고로,이 경우에 의해 제어된다 /lib/systemd/system/fstrim.timer( OnCalendar=weekly)와 어떻게하여 /lib/systemd/system/fstrim.service( ExecStart=/sbin/fstrim -av).
Moilleadóir

1
좋은 포스트! cat / lib / systemd / system / fstrim.timer-> systemctl cat fstrim.timer 전용 systemctl 명령으로 "cat"명령을 변경하는 것이 좋습니다. 일반적으로이 명령은 유효한 서비스 버전을 보여줍니다. 이것은 / lib / systemd에있는 것일 수도 있지만 / etc / systemd에있는 수정 된 버전 일 수도 있습니다.
바나듐

활성화되면 모든 드라이버에 적용됩니까? 예를 들어, 하나의 SSD에 우분투를 설치했지만 다른 SSD를 ext4 파티션으로 마운트했습니다. 둘 다 자동으로 다듬을까요? (상태는 활성 상태)
Eduardo Eduardo

주문형으로 활성화하는 방법? (예를 들어, 지금 점심을 먹고 싶어)
면도기

$ sudo systemctl [시작 / 중지 / 다시 시작] [서비스 이름] .service
Broadsworde

2

편집 : 의견을 읽으십시오.이 답변은 두 가지 메커니즘을 혼합합니다!

이전 답변

@Broadsworde의 답변에 추가해야 할 중요한 요점이 있습니다.

내 랩톱에서 모든 타이머와 서비스가 활성화되었지만 fstrim 로그 항목이 누락되었습니다 (예 : starting… stopping… reboot… starting…등).

누락 된 단계

파일 시스템을 폐기 가능으로 표시 해야 할 수도 있습니다 . 파일 시스템이 폐기 가능으로 표시되지 않으면 다듬기가 파일을 건너 뜁니다 [1].

파일 시스템을 폐기 가능으로 표시하려면 두 가지 옵션이 있습니다.

1. 옵션 : tune2fs

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

그러면 내 ext4 장치의 삭제 옵션이 기본값으로 설정됩니다. 암호화를 사용하지 않으면 /dev/sda대신 시도하십시오 .

2. 옵션 : /etc/fstab

옵션 discard을 기존 마운트 옵션 앞에 추가하거나 추가하십시오 . 예를 들면 다음과 같습니다.

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

이 후에야 타이머 서비스가 실제로 무언가를 할 것입니다.

각주

  • [1] 실제로 장치는 TRIM작업 을 지원해야 합니다. 그러나 리눅스에서 이것은 파일 시스템 플래그입니다. 여전히 파일 시스템이 실행중인 장치는 TRIM작업 을 지원해야 합니다. 장치가 지원하는지 확인하려면 다음을 사용하십시오 sudo hdparm -I /dev/sda | grep -i TRIM..

설치 (원래 18.10; 나중에 19.04로 업그레이드)에서 파일 시스템 에 폐기 옵션이 활성화 되지 않았습니다 . 내 시스템에는 SSD 만 사용합니다. 그리고 기계적 HD가 없었습니다. tune2fs 사용하여 활성화했습니다 . 시스템이 기본적으로 시스템을 활성화하지 않은 이유에 대한 아이디어 나 설명이 있습니까?
FedonKadifeli

1
나는 이것이 옳지 않다고 생각합니다. 파일 옵션이 파일 시스템에서 삭제되면 차단 옵션이 블록을 다듬습니다. 시스템 서비스는 파일 시스템에서 사용하지 않는 블록을 주기적으로 잘라냅니다. 이것들은 다른 것입니다. 삭제 옵션은 일부 시스템의 성능에 부정적인 영향을 줄 수 있으므로주기적인 옵션이 더 좋습니다.
xioxox

1
@xioxox가 맞습니다. 최근 mount매뉴얼 페이지 한다고 폐기 함수 문제« 명령을 자주는 파일 시스템에 의해 해제 블록 장치 회수 공간을 할 수 있습니다. [...] 은 성능에 큰 영향을 줄 수 있습니다. ( fstrim 명령을 사용 하여 사용자 공간에서 배치 트림을 시작할 수도 있습니다 .)»
Fabio A.

감사합니다. 답변을 엄청나게 편집했습니다. 이 답변을 계속 하향 조정하지 마십시오. 귀하의 의견은 소중합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.