Ubuntu 18.04 설치에서 TRIM이 활성화되어 있습니까? 빈 파일을 반환합니다. 또한 tail

주간 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를 사용하고 있습니다



답변

트림 (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...

답변

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

이전 답변

@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..