자동 TRIM과 수동 TRIM


13

현재 새 TP로 자르는 방법을 찾으려고 노력 중이며 수동 / 온라인 자르기의 차이점에 대해 궁금했습니다.

내 설정은 다음과 같습니다.

SSD Samsung 830, 128GB 및 Xubuntu 12.10이 장착 된 ThinkPad T430s, 트림이 내 시스템에서 작동하는지 확인하기위한 출력 결과는 다음과 같습니다 ( http://wiki.ubuntuusers.de/SSD/TRIM ).

root@eike-tp:~# sudo hdparm -I /dev/sda | grep -i TRIM
   *    Data Set Management TRIM supported (limit 8 blocks)

먼저 온라인 트리밍을 시도했습니다 : TRIM을 활성화하는 방법?

폐기가 삽입 된 내 fstab :

UUID=d6c49c17-a4f1-466c-9f7e-896c20db3bba /  ext4  discard,noatime,errors=remount-ro  0  1
# swap was on /dev/sda5 during installation
UUID=a0322f5f-c6c1-4896-863f-668f0638d8cf none  swap  sw  0   0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

작동하는지 테스트하려고했지만 (/ dev / sda로 시도 할 때 0을 얻지 못했지만)이 방법은 SSD 유형 2에서만 가능하며 유형 3 인 것으로 나타났습니다. 작동하는지 모르겠습니다.

Ubuntuwiki (첫 번째 링크)는 수동 트리밍을 권장하므로 폐기 대신 매일 cronjob을 설정합니다.

#!/bin/sh
LOG=/var/log/batched_discard.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG

위키 기사는 매주 또는 매일 제안합니다. 이제 내 질문에 :

자동 트림을 얼마나 자주 실행합니까? 얼마나 자주 권장됩니까? 온라인 대 수동 다듬기?

도와 주셔서 감사합니다

답변:


4

자동 다듬기와 수동 다듬기의 차이점은 discard파일을 삭제 한 후 자동 다듬기 ( 마운트 옵션 사용)가 사용 가능한 블록을 동기화하고 수동 다듬기 (사용 fstrim)는 모든 여유 공간을 한 번에 다듬는 것입니다.

테스팅

자동 다듬기가 작동하는지 테스트 할 수있는 한 가지 방법은 큰 파일을 만들고 삭제하는 것입니다.

user@host:/somewhere$ dd if=/dev/urandom bs=1M count=100 of=bigfile
user@host:/somewhere$ sync
user@host:/somewhere$ rm bigfile
user@host:/somewhere$ sync

자동 삭제가 작동하는 경우 수동으로 다시 트리밍하면 이미 트리밍되었으므로 많은 블록이 트리밍되지 않습니다. sudo discard -v파일 시스템에서 실행 하고 몇 블록이 다듬어 졌는지 확인하십시오.

추천

이는 대해서는 권장 : 내 경험에 의하면, 자동 트림 성능을 죽인다. 그러나 이것은 아마도 하드웨어에 따라 다릅니다. 드라이브에 문제가있을 수 있습니다.

수동 트림을 사용하는 경우 빈도에 따라 SSD의 여유 공간 크기와 비교하여 일반적인 작업 부하에서 데이터를 쓰는 속도에 대해 생각하십시오. 디스크가 삭제 된 데이터로 가득 차기 전에 충분히 자주 트리밍하려고합니다. SSD의 여유 공간이 많거나 디스크 작업량이 적은 경우 가끔 (매주 또는 더 길게) 트리밍하면 충분합니다. SSD가 대부분 가득 차거나 비디오 파일을 자주 편집하는 경우 더 자주 다듬어야합니다.


2

나는 스토리지 엔지니어가 아니며 관련 걱정이 있지만 스케줄링에 대한 유용한 제안을 할 수 있습니다. TRIM이 SSD의 걱정스러운 마모를 일으키지 않는다고 확신합니다. 디스크를 블록 재활용을 시작하기 전에 결국에는 디스크를 관리해야합니다. 배치 트리밍에 가장 적합한 스케줄은 사용량에 따라 다릅니다. 주파수와 여유 공간을 작성하는 기능이라고 생각합니다. 그 점을 염두에두고, 나는 cron 작업을 뽑고 fstrim -v며칠 동안 손으로 뽑을 것 입니다.

내가 생각하는 트릭은 일반적인 쓰기 작업을 수행하기 위해 사용한 블록을 재활용하기 전에 배치 TRIM이 SSD 쓰기를 준비하는 일정을 만드는 것이므로 성능이 저하됩니다. 24 시간 동안 기다립니다. 여유 공간보다 훨씬 적은 블록을 잘라 냈다고 주장하는 경우 배치 트리밍보다 그 빈도가 적습니다.



2

부팅 할 때마다 SSD를 정리합니다. 시작 후 20 초라는 sh 파일을 만들었습니다. 로그 파일 대신 시스템 알림에 fstrim의 출력을 표시하도록 선택했습니다.

먼저 디렉토리에 trim.sh파일을 만드십시오~/bin

#! /bin/sh
notify-send "TRIM" "$(sudo fstrim -v /)"

이제 fstrim을 실행할 수있는 권한을 사용자에게 제공해야하므로 비밀번호를 입력 할 필요가 없습니다. visudo로 sudoers 파일을 열고 다음 행을 추가하십시오.

yourusername  ALL=(ALL) NOPASSWD: /sbin/fstrim

home/yourusername/bin폴더를 폴더에 포함 시키면 $PATH비밀번호없이 'trim'명령을 사용하여 터미널에서 수동으로 트리밍 할 수도 있습니다.

이제 시작 응용 프로그램에 스크립트를 추가하고 지연을 지정할 수 있습니다. 새 sudoers 항목이로드되도록 다시 로그 아웃 / 로그인해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.