Saya mengosongkan hard drive pada beberapa Linux 4.x OS menggunakan perintah ini:
sudo sh -c 'pv -pterb /dev/zero > /dev/sda'
Dan saya membuka tty lain dan mulai sudo htop
dan memperhatikan ini:
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
Nilai untuk IO_WBYTES
tampaknya cukup normal, tetapi IO_RBYTES
tetap pada 4 KiB dan tidak pernah berubah.
Saya menjalankan beberapa program lain, misalnya
dd if=/dev/zero of=/dev/zero
cat /dev/zero > /dev/zero
dan terkejut melihat tidak satupun dari mereka menghasilkan banyak IO_RBYTES
atau IO_WBYTES
.
Saya pikir ini tidak spesifik untuk program apa pun, tetapi mengapa tidak membaca dari /dev/zero
dan menulis untuk /dev/{zero,null}
dihitung sebagai I / O byte?
/dev/null
jangan sampai akhirnya menghubungkan perangkat keras seperti itu dan jangan menyumbat bus I / O. Diambil secara ekstrim; dibaca / ditulis ke / dari memori juga I / O? Tentu saja, tidak ada penggambaran yang sulit untuk hal-hal ini, dan itu semua tergantung pada perspektif mana yang Anda ambil dalam hal-hal ini, dan seberapa bermanfaat perspektif itu bagi Anda.
/dev/{null,zero}
(yang biasanya bukan hambatan). Itu hanya sudut pandang saya :)
read(2)
dan write(2)
dianggap sebagai I / O, yang sangat masuk akal dalam arti sendiri.