2017-01-05 20 views
1

dd 대신 fio (유연한 I/O 테스터)를 사용하여 드라이브를 지우고 싶습니다. fio가 멀티 스레드이기 때문에 나는 닦음/랜덤 화 된 데이터를 더 빨리 처리 할 것이라고 믿습니다.fio를 사용하여 드라이브를 지우는 방법은 무엇입니까?

sudo fio --filename=/dev/sdb1 --rw=randwrite --bs=4k --iodepth=32 --ioengin=libaio --direct=1 --name=randdrive 

이것은 작동하지 않습니다. dd보다 오래 걸리며 그 이유는 확실하지 않습니다.

https://linux.die.net/man/1/fio

+1

드라이브를 지우는 것은 모든 IO 제한 작동의 모범입니다. 왜 CPU를 더 많이 쓰면 도움이 될 것이라고 생각합니까? – Voo

+0

fio가 작은 I/O를 무작위로 제출하도록 (순차적 버퍼링 된 dd가 허용하는 것과 비교할 때) 최고 속도가 저하됩니다. 또한 fio는 각 I/O에서 추가 작업을하고 있음을 명심하십시오. -rw = write -bs = 64k -iodepth = 32 -ioengine = libaio --direct = 1 --gtod_reduce = 1과 비슷한 속도가되어야합니다. 더구나, oflag = direct bs = 1M로 dd 속도가 훨씬 빨라질 수도 있습니다. 어쨌든 디스크 fio를 안전하게 지우려면 올바른 도구가 아닙니다 ... – Anon

답변

2

대답은 간단하다 :이 이해가되지 않습니다.

드라이브를 지울 때의 제한은 얼마나 많은 스레드가 드라이브로 바이트를 보내고있는지가 아닙니다.

반대로 : 병렬로 요청을 보낸 5 개의 스레드가있어 다른 드라이브의 곳에 데이터를 저장한다고 가정합니다. 즉, 드라이브 헤드가 끊임없이 움직이는 것을 의미합니다. 이를 연속적인 바이트 스트림과 비교하십시오. 모든 것이 "하나씩 차례대로"진행됩니다. 어쩌면 SSD에서 상황이 다를 수 있습니다. 그러나 지옥; SSD를 사용하면 장치가 어쨌든 무엇을하고 있는지 전혀 알 수 없습니다.

다른 말로하면 : 이미지에서 어떤 진입로의 트럭에서 상자를 내리고 있습니다. 그리고 무보수 박스를 건물 안으로 옮기는 책임을지는 사람은 입니다. 진입로 끝에 각 5 명씩 상자를 넣을 때 전체 과정이 빨라 집니까? 아니; 상자를 집는 사람이 아직 한 명뿐이기 때문에 이제는 그가 걸어 들어가야 할 모든 상자를 얻기 위해 을 걸어 가야합니다.