मैं इस कमांड का उपयोग करके कुछ लिनक्स 4.x OS पर हार्ड ड्राइव को खाली कर रहा हूं:
sudo sh -c 'pv -pterb /dev/zero > /dev/sda'
और मैंने एक और ट्टी खोली और शुरू किया 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_RBYTES4 KiB पर रहता है और कभी नहीं बदलता है।
मैंने उदाहरण के लिए कुछ अन्य कार्यक्रम चलाए
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}कि आमतौर पर एक अड़चन हो सकती है) की तुलना में I / O आँकड़ों में बहुत अधिक दिलचस्पी होगी (जो आमतौर पर अड़चन नहीं है)। यही कारण है कि अभी-अभी अपना परिप्रेक्ष्य हालांकि :) है
read(2)और write(2)I / O के रूप में गिना जाता है, जो अपने आप में बहुत ही उचित है।