새 노트북에 새 삼성 SSD가 장착되었습니다. 디스크(firefox 프로필 및 메모리)에 데이터를 쓰지 않도록 모든 것을 조정했습니다 . fs를 /var/log
사용하고 있으며 하루에 한 번 SSD를 정리하는 데 사용합니다.ext4
relatime
fstrim
디스크 로드를 모니터링하는 데 사용합니다 iostat -dhm
. 표시된 fstrim
명령을 실행하기 전에iostat
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda
4.97 0.05 0.59 1856 20924
가지치기 후/home
# fstrim -v /home
/home: 100.2 GiB (107555401728 bytes) trimmed
ìostat
프로그램
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda
5.91 0.05 3.51 1859 123498
MB_wrtn
증가하다 102574 MB
. 이것은 내 디스크 fstrim
에 기록되고 있다는 뜻입니까 ?102574 MB = 100.2 GB
Trim은 유효한 데이터가 포함되지 않은 페이지에 기록하는 대신 "표시"해야 합니다.
iostat
에 의해 작성된 행동을 본 것 같아요 fstrim
(비록그렇지 않다일종의 글쓰기). 어떻게 생각하나요? 내 디스크를 모니터링하는 더 좋은 방법이 있습니까?
참고: 사용은 iotop
종료된 프로세스의 데이터 양을 표시하지 않으므로 답변이 아닙니다. 따라서 iotop
측정이 부정확합니다.
답변1
MB_wrtn이 102574MB 증가했습니다. 이는 fstrim이 내 디스크에 102574MB = 100.2GB를 쓰고 있다는 의미입니까?
예, 그게 바로 그 뜻입니다. fstrim
기본적으로 블록 장치의 각 블록을 살펴보고 해당 블록이 파일 시스템에서 사용 중인지(즉, 중요한 데이터가 포함되어 있는지) 확인합니다.
- 블록이 사용 중입니다. 무시하세요.
- 사용되지 않는 블록: 이 블록에 대한 ATA TRIM 명령을 기본 블록 장치로 보냅니다.
완료되면 정리된 블록의 수는 항상 파일 시스템의 사용 가능한 공간과 같아야 합니다. fstrim
모든 여유 블록은 과거에 정리되었는지 여부에 관계없이 실행될 때마다 정리되므로 더 자주 실행해도 속도가 빨라지지 않습니다.
커널은 TRIM 명령을 쓰기 명령으로 처리할 수 있으므로 실행된 각 TRIM 명령은 4k 쓰기 명령으로 계산됩니다.
Trim은 유효한 데이터가 포함되지 않은 페이지에 기록하는 대신 "표시"해야 합니다.
블록을 정리된 것으로 "표시"하는 것은 해당 내용이 변경되기 때문에 블록을 "쓰기"하는 것과 같습니다. 실수로 잘못된 블록을 자르면 데이터가 손실됩니다. 마치 잘못된 블록에 0을 쓰면 데이터가 손실되는 것과 같습니다.