मेन्यू बार में macOS सिस्टम मॉनिटर Stats
(github.com/exelban)- Stats एक ऐप है जो macOS मेन्यू बार में CPU, GPU, मेमोरी, डिस्क, नेटवर्क, बैटरी, सेंसर, Bluetooth डिवाइस और मल्टी-टाइमज़ोन घड़ी को मॉनिटर करता है
- इंस्टॉल करने के लिए नवीनतम
Stats.dmgडाउनलोड करके उसे Applications फ़ोल्डर में ले जाएँ, या Homebrew मेंbrew install statsचलाएँ - आधिकारिक रूप से समर्थित संस्करण macOS 12 Monterey या उससे नया है, और पुराने सिस्टम के लिए legacy version अलग डाउनलोड के रूप में उपलब्ध है
- अगर मेन्यू बार आइकन दिखाई नहीं देता, तो macOS 26 के System Settings → Menu Bar privacy control में Stats को स्पष्ट रूप से चालू करना पड़ सकता है
- Sensors और Bluetooth मॉड्यूल अपेक्षाकृत कम efficient हैं, और इन्हें बंद करने से कुछ मामलों में CPU उपयोग और power efficiency पर प्रभाव अधिकतम 50% तक कम हो सकता है
Stats की सुविधाएँ
- Stats एक एप्लिकेशन है जो macOS सिस्टम की स्थिति को मेन्यू बार से देखने देता है
- मॉनिटरिंग में निम्न शामिल हैं
-
CPU उपयोग
-
GPU उपयोग
- मेमोरी उपयोग
- डिस्क उपयोग
- नेटवर्क उपयोग
- बैटरी स्तर
- फैन नियंत्रण
- सेंसर जानकारी: तापमान, वोल्टेज, पावर
- Bluetooth डिवाइस
- मल्टी-टाइमज़ोन घड़ी
-
इंस्टॉलेशन और आवश्यकताएँ
- नवीनतम संस्करण Stats.dmg से डाउनलोड किया जा सकता है
- डाउनलोड की गई
Stats.dmgखोलें और ऐप को Applications फ़ोल्डर में ले जाएँ
- डाउनलोड की गई
- Homebrew इंस्टॉलेशन भी समर्थित है
brew install stats
- पुराने सिस्टम के लिए legacy version अलग डाउनलोड में उपलब्ध है
- समर्थित macOS संस्करण आधिकारिक रूप से जारी macOS 12 Monterey या उससे नया है
मेन्यू बार और विजेट से जुड़ा व्यवहार
- मेन्यू बार आइकनों का क्रम Stats नहीं, बल्कि macOS तय करता है
- Stats इंस्टॉल करने के बाद पहली reboot पर क्रम बदल सकता है
- macOS Mojave 10.14 या उससे नए संस्करण में ⌘ कुंजी दबाकर आइकन को इच्छित स्थान पर drag करके क्रम बदला जा सकता है
- अगर Stats आइकन मेन्यू बार में नहीं दिखता, तो इसका कारण macOS 26 का नया privacy control हो सकता है
- स्थान: System Settings → Menu Bar
- अगर Stats चल रहा है और एक या अधिक मॉड्यूल व विजेट चालू हैं, फिर भी आइकन नहीं दिखता, तो यह सेटिंग जाँचनी चाहिए
- समाधान है Stats टॉगल को ON करना
- संबंधित विवरण issue #3120 में है
- अगर डेस्कटॉप विजेट में डेटा नहीं दिखता, तो Stats की ओर से communication डिफ़ॉल्ट रूप से disabled होता है
- कारण है ऐप और विजेट के बीच communication संभालने वाली system process
chronodपर उच्च data load की समस्या - समाधान है Stats settings में macOS widgets विकल्प को ON करना
- संबंधित विवरण issue #2733 में है
- कारण है ऐप और विजेट के बीच communication संभालने वाली system process
प्रदर्शन, सेंसर और फैन नियंत्रण की सीमाएँ
- Stats efficient ढंग से काम करने की कोशिश करता है, लेकिन कुछ डेटा को समय-समय पर पढ़ने का काम बहुत हल्का नहीं होता
- हर मॉड्यूल का energy impact और CPU उपयोग लागत अलग होती है
- खासकर Sensors और Bluetooth मॉड्यूल सबसे कम efficient माने जाते हैं
- इन मॉड्यूल्स को disabled करने से कुछ मामलों में CPU उपयोग और power efficiency पर प्रभाव अधिकतम 50% तक घटाया जा सकता है
- फैन नियंत्रण legacy mode में है
- इसके लिए updates या fixes नहीं दिए जाते
- पुराने Mac पर यह काफ़ी अच्छी तरह काम करता है, इसलिए इसे ऐप से हटाया नहीं गया है
- fixes या improvements के PR स्वीकार किए जा सकते हैं, लेकिन इस फीचर को सपोर्ट करने के लिए समय और संसाधन नहीं होने की बात कही गई है
- CPU/GPU sensors का कोर की संख्या या किसी विशेष कोर से सीधा संबंध नहीं है
- CPU/GPU sensors, CPU/GPU के thermal zone sensors होते हैं
- उदाहरण के लिए CPU आमतौर पर efficiency core cluster और performance core cluster में बँटा होता है, और हर cluster में कई temperature sensors होते हैं
CPU Efficient Core 1किसी एक efficiency core का तापमान नहीं, बल्कि efficiency core cluster के भीतर एक temperature sensor को दर्शाता है- Apple हर नए SoC के साथ sensor keys बदल देता है, इसलिए सही sensor से मेल खाने वाले SMC values पहचानने में समय लगता है
बाहरी API और नेटवर्क अनुरोध
- Stats कुछ external API का उपयोग करता है
https://api.mac-stats.com: update check और public IP address देखने के लिएhttps://api.github.com: update check के लिए वैकल्पिक मार्ग
- दोनों API update check के लिए उपयोग किए जाते हैं
- public IP address पाने के लिए external request आवश्यक है
- third-party provider का उपयोग नहीं करना चाहते, इसलिए अपना server इस्तेमाल किया जाता है
- जिन उपयोगकर्ताओं को इन requests की चिंता है, उनके पास कुछ विकल्प हैं
- external server के बिना फीचर काम करे, ऐसा PR प्रस्तावित कर सकते हैं
- network filtering app से इन दोनों servers को block कर सकते हैं
- block करने पर updates नहीं मिलेंगे और network module में public IP भी नहीं दिखेगा
इश्यू प्रबंधन और योगदान का तरीका
- ऐप crash होने पर पहले यह जाँचना चाहिए कि नवीनतम संस्करण उपयोग में है या नहीं
- बहुत संभव है कि crash रोकने वाला fix पहले ही release हो चुका हो
- अगर नवीनतम संस्करण में भी समस्या हो, तो open issues देखनी चाहिए
- केवल तब नया issue खोलना चाहिए जब मौजूदा issue उसी समस्या को कवर न करता हो
- अगर बिना जवाब के issue बंद हो गया, तो अधिकतर संभावना है कि वह duplicate issue हो
- बंद किए गए issues में खोजकर मौजूदा जवाब मिल सकता है
- नया फीचर विकसित करने या bug मिलने पर पहला कदम issue खोलना है
- पहले फीचर या समस्या पर चर्चा होनी चाहिए
- Pull request तभी खोलना चाहिए जब संबंधित issue मौजूद हो और चर्चा पूरी हो चुकी हो
- बिना चर्चा खोले गए PR अपने-आप बंद किए जा सकते हैं
- भाषा परिवर्तन, और वे contributors जिन्होंने पहले से बड़े योगदान दिए हैं और जिनकी implementation direction सही है, अपवाद हो सकते हैं
भाषा और लाइसेंस
- Stats कई भाषाओं को समर्थन देता है, जिनमें English, Polski, Українська, Русский, 中文, Türkçe, कोरियन, German, Spanish, French, Italian, Japanese आदि शामिल हैं
- नई भाषा जोड़कर या मौजूदा अनुवाद बेहतर बनाकर योगदान किया जा सकता है
- लाइसेंस MIT License है
1 टिप्पणियां
Hacker News की राय
Stats को कई सालों से CPU, GPU, मेमोरी, नेटवर्क अपलोड/डाउनलोड स्पीड देखने के लिए इस्तेमाल कर रहा हूं और बहुत संतुष्ट हूं
यह समझने के लिए अच्छा है कि कहीं खत्म न हुए processes 100% पर अटके हैं या नहीं, मेरा code सच में GPU पर चल रहा है या नहीं, download या transfer रुकने पर network throughput कैसा है, और कौन सा process चुपके से सैकड़ों MB ले रहा है
ऊपर एक नजर में यह देखने की तसल्ली मिलती है कि computer अभी क्या कर रहा है, इसलिए menu bar से इसके गायब होने की कल्पना करना मुश्किल है
graph पर एक झलक डालकर “अरे, अभी ऐसा नहीं होना चाहिए” लगने वाले पलों से ही मैंने कई बार पूरे system की समस्याएं ढूंढ निकाली हैं, और सिर्फ अटके हुए processes ही नहीं बल्कि अजीब तरह से behave कर रहे processes भी पकड़ पाए हैं
पहले मैंने इस बारे में https://blogsystem5.substack.com/p/hard-disk-leds-and-noisy-... पर लिखा भी था
जैसे “अभी बिना किसी वजह CPU 100% क्यों इस्तेमाल हो रहा है? ओह, request के बिना 10 मिनट बाद यह यहां infinite loop में चला जाता है…”
पहले fan का 100% पर चलना अच्छा bug detector था, लेकिन आजकल computers इतने शांत हैं कि आंखों से देखना पड़ता है
iStat Menus की copy जैसा लगता है। कई साल तक install रखा, फिर एक दिन एहसास हुआ कि मैं इसे लगभग देखता ही नहीं, और icons बस menu bar की जगह घेरते हैं, इसलिए आखिरकार हटा दिया
Dock में Activity Monitor को CPU display पर set कर देना ही काफी है
पहले Activity Monitor खोलता था, लेकिन laptop fan जब भी चलता था, कारण हर बार browser ही होता था। browser performance monitor देखने पर तुरंत दिख जाता है कि कौन सा tab समस्या है, और आमतौर पर problem tab में cmd-R दबाने से फिर stable हो जाता है
लगता है किसी JavaScript developer ने अपने code को changes test करने के समय से ज्यादा देर तक tab में खुला रखकर test नहीं किया होगा
आजकल सिर्फ Little Snitch का network monitor रखता हूं, कभी-कभी सच में traffic कहां जा रहा है देखने के लिए इस्तेमाल करता हूं
हो सकता है default configuration नहीं बल्कि कुछ display modules की समस्या रही हो, लेकिन root cause track करने का मन नहीं था, इसलिए हटा दिया
कभी-कभी फिर install करके देखता हूं, लेकिन system अब भी crash होता है। यह बस दिखने में अच्छा decoration जैसा है
ठीक दिखता है। पहले iStat Menus के लिए पैसे दिए थे, लेकिन नया laptop खरीदने के बाद अपनी licensed पुरानी version कहां से download करूं, यह नहीं मिला
निजी तौर पर मुझे लगता है कि CPU/मेमोरी/network usage और हर item को सबसे ज्यादा इस्तेमाल करने वाले top 5 apps हमेशा दिखने चाहिए। यह अब computing devices की basic feature होनी चाहिए, लेकिन अभी भी ऐसा नहीं है, और इसका फायदा सिर्फ resource खाने वाले खराब software या malicious actors को मिलता है
ऐसी basic जानकारी देखने के लिए हर बार Activity Monitor चलाना नहीं पड़ना चाहिए। इसे आजमाने का सोच रहा हूं
MenuMeters याद आता है। real-time metrics और कई तरह के graphs, अलग-अलग refresh intervals दिखाने में बहुत अच्छा था
https://member.ipmu.jp/yuji.tachikawa/MenuMetersElCapitan/
इसे install करते ही तुरंत पता चला कि LegacyScreenSaver 40GB memory leak कर रहा था
iStat Menus से काफी प्रभावित लगता है, लेकिन मैं https://bjango.com/mac/istatmenus/ को कई सालों से खुशी-खुशी पैसे देकर इस्तेमाल कर रहा हूं
Stats के develop होने के दौरान कुछ बार इस्तेमाल किया, लेकिन आखिरकार iStat Menus पर वापस आ गया। Stats का design भी iStat Menus से काफी inspired लगता है
फिर भी Stats में मुझे यह बात पसंद है कि यह ज्यादा SMC sensor values support करता है
brewसे install किया, लेकिन menu bar में नहीं दिखा। Mac restart करने पर दिखा, लेकिन अभी documentation update PR बनाने में आलस हैइसके अलावा, सिर्फ battery widget दिखा और दूसरे widgets नहीं दिखे, इसलिए initial user experience confusing था
बाद में पता चला कि Mac के खराब menu bar space UX की वजह से सब hidden थे। यह बताने का कोई indication भी नहीं कि और menu items हैं। Mac का खराब design decision है
defaults -currentHost write -globalDomain NSStatusItemSpacing -int 8defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 8वापस करने के लिए यह करें
defaults -currentHost delete -globalDomain NSStatusItemSpacingdefaults -currentHost delete -globalDomain NSStatusItemSelectionPaddingफिर logout करके फिर login करें
पहले ऐसी feature के लिए https://www.macbartender.com/ को पैसे देता था
iPulse(https://ipulseapp.com/) को लगभग 20 साल से इस्तेमाल कर रहा हूं। दिखने में अच्छा है, इसलिए पास से screen देखने वाले लोग लगातार तारीफ करते हैं या सवाल पूछते हैं, और screen space भी ज्यादा नहीं लेता
संबंधित व्यक्ति नहीं हूं, लेकिन strongly recommend करता हूं
3–4 महीने पहले जब आखिरी बार इस्तेमाल किया था, Stats ने iStats Menus की तुलना में CPU usage काफी ज्यादा खाया था
छोटा और ठीक-ठाक app है, लेकिन मेरे M2 MBA पर इसने bluetoothd को CPU 40% तक खाते हुए runaway करवा दिया