주간 TRIM은 기본적으로 14.10부터 활성화되어 있음을 알고 있습니다. 출처 : TRIM을 활성화하는 방법?
그러나 running sudo nano /etc/cron.weekly/fstrim
은 빈 파일을 반환합니다. 또한 tail -n1 /etc/cron.weekly/fstrim
이 파일이 존재하지 않는다고 말합니다.
실행 lsblk -D
반환을 비 제로 값 DISC-GRAN
및 DISC-MAX
TRIM 그렇게하는 것은 내 SSD에서 지원됩니다. 주간 TRIM이 실제로 내 SSD에 활성화되어 있습니까?
Kingston SSD를 사용하고 있습니다
답변
트림 (fstrim / discard)은 기본적 으로 18.04에서 매주 실행되도록 설정되어 있습니다 .
삭제 조작을 지원하는 장치에서 마운트 된 모든 파일 시스템에 대해 실행되도록 설정되어 있습니다.
그것은이다 systemd
를 통해 관리 서비스 systemctl
CRON 없습니다.
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
..