이 명령을 사용하여 일부 Linux 4.x OS에서 하드 드라이브를 비 웁니다.
sudo sh -c 'pv -pterb /dev/zero > /dev/sda'
그리고 나는 또 다른 tty를 열고 시작 sudo htop
하고 이것을 알아 차렸다.
PID USER PRI NI CPU% RES SHR IO_RBYTES IO_WBYTES S TIME+ Command
4598 root 20 0 15.5 1820 1596 4096 17223823 D 1:14.11 pv -pterb /dev/zero
에 대한 값은 IO_WBYTES
정상적인 것으로 보이지만 IO_RBYTES
4KiB로 유지되며 변경되지 않습니다.
예를 들어 몇 가지 다른 프로그램을 실행했습니다.
dd if=/dev/zero of=/dev/zero
cat /dev/zero > /dev/zero
그리고 그들 중 누구도 많이 발생하지보고 놀랐습니다 IO_RBYTES
나 IO_WBYTES
.
나는 이것이 어떤 프로그램에만 국한되지는 않지만 I / O 바이트 /dev/zero
로 /dev/{zero,null}
계산 하기 위해 읽고 쓰지 않는 이유는 무엇입니까?
/dev/null
하드웨어와의 인터페이스를 끝내지 않고 I / O 버스를 막지 마십시오. 극단적으로 찍은; 메모리에 대한 읽기 / 쓰기도 I / O입니까? 물론, 이것들에 대한 명확한 묘사는 없으며, 그것은 당신이 어떤 관점에서이 관점을 취하는 지, 그리고 관점이 당신에게 얼마나 유용한 지에 달려 있습니다.
/dev/{null,zero}
. 그건 그냥 내 관점 : 비록입니다
read(2)
과 write(2)
자신의 의미에서 매우 합리적인 I / O,로 계산됩니다.