Android 8 पर, storaged
का इस्तेमाल किया जा सकता है. यह Android का एक नेटिव डीमन है
Android डिवाइसों पर स्टोरेज से जुड़ी मेट्रिक इकट्ठा करता है और उन्हें पब्लिश करता है.
- हर दिन के डिस्कस्टेट के लिए,
storaged
समय-समय पर पार्स करता है/sys/block/mmcblk0/stat
(eMMC स्टोरेज डिवाइस) या/sys/block/sda/stat
(नॉन-ईएमएमसी डिवाइस). - eMMC लाइफ़टाइम के लिए
storaged
,/d/mmc0/mmc0:001/ext_csd
को पार्स करता है (अगर उपलब्ध है). - ऐप्लिकेशन I/O के लिए आरोप लगाने के लिए,
storaged
समय-समय पर रुक जाता है/proc/uid_io/stats
और पार्स किया गया डेटा बनाए रखता है, जिसमें डेटा शामिल है से मिलने वाली सूचनाएं देखी जा सकती हैं (सिर्फ़ चल रहे ऐप्लिकेशन ही नहीं).dumpsys
यह कर सकते हैं गड़बड़ी की रिपोर्ट में, ऐप्लिकेशन I/O के इस्तेमाल की जानकारी लॉग करने के लिएstoraged
को कॉल करें.
डिस्कस्टेट (ठहरे गए डिस्कस्टेट सहित) और eMMC जानकारी इस पर लॉग की जाती है: Android इवेंट का लॉग, जहां प्लैटफ़ॉर्म की जांच करने वाली सेवा से लॉग इकट्ठा करती है.
storaged
कार्रवाइयां अपने-आप होती हैं और इन्हें पूरी तरह से Android मैनेज करता है
आपको कुछ भी करने की ज़रूरत नहीं है. यह पेज
storaged
के डिज़ाइन के बारे में बताता है. इसमें नए इंटरफ़ेस भी शामिल हैं. साथ ही, यह भी बताया गया है कि इन कामों के लिए इसे कैसे इस्तेमाल किया जा सकता है
कर्नेल से I/O स्थिति पाएं.
स्टोरेज वाला डिज़ाइन
अकाउंटिंग और अनुमतियों की सुविधा के लिए, storaged
को कर्नेल के तौर पर लागू किया गया है
वह मॉड्यूल जो प्रति-uid I/O जानकारी देता है (मानक का उपयोग करने के बजाय
proc/PID/io
). हर I/O अनुरोध का रॉ I/O डेटा इतना बना रहेगा
कर्नेल task_struct
में सेव और अपडेट किया जाता है, और कर्नेल
यह ट्रैक कर सकता है कि कोई प्रोसेस कब बंद होती है, ताकि वह
पिछला storaged
पोलिंग इवेंट.
मॉड्यूल रॉ डेटा को पढ़ता है और उसे सिर्फ़ तब प्रोसेस करता है, जब फ़्रेमवर्क उसे सूचना देता है
यूआईडी के फ़ोरग्राउंड/बैकग्राउंड स्विच का इस्तेमाल किया जा सकता है या जब storaged
डीमन
रिपोर्ट. इस समय, मॉड्यूल कर्नेल से एक फ़ाइल नोड को
फ़्रेमवर्क और storaged
डीमन की मदद से बातचीत करना.
storaged
, /proc/uid_io/stats
इंटरफ़ेस दिखाता है. इससे ये नतीजे दिखाए जाते हैं
सिस्टम में मौजूद हर यूआईडी के लिए, I/O से जुड़े आंकड़ों की सूची. फ़ॉर्मैट:
<uid>: <foreground read bytes> <foreground write bytes> <foreground read chars> <foreground write chars> <background read bytes> <background write bytes> <background read chars> <background write chars>
- रीड/राइट बाइट, किसी स्टोरेज डिवाइस से होने वाले I/O इवेंट होते हैं.
- पढ़ें/लिखें वर्ण (बाइट में भी) वे डेटा होते हैं जिनका अनुरोध पढ़ने/लिखने के लिए किया जाता है syscalls.
कर्नेल से I/O स्थिति पाएं
कर्नेल से I/O इस्तेमाल डंप करने के लिए, storaged
निर्देश का इस्तेमाल इसके साथ करें
-u
विकल्प.
निर्देश: storaged -u
कमांड आउटपुट फ़ॉर्मैट: name/uid fg_rchar fg_wchar fg_rbytes fg_wbytes
bg_rchar bg_wchar bg_rbytes bg_wbytes fg_fsync bg_fsync
ध्यान दें: यह आउटपुट,
proc/uid_io/stats
. ऐसा इसलिए है क्योंकि storaged
आपका डेटा प्रोसेस करता है
/proc/uid_io/stats
और अपना डेटा जनरेट करता है.
आउटपुट का उदाहरण:
com.google.android.backuptransport 2269 60 0 0 1719845663 143912573 149065728 184180736 com.android.vending 2170 60 0 0 219904796 38693092 174436352 18944000