5 पॉइंट द्वारा GN⁺ 2025-08-01 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • MacBook Pro Silicon M1 Max मॉडल पर रातभर बैटरी ड्रेन होने की समस्या का अनुभव किया
  • सीधे पावर मैनेजमेंट लॉग का विश्लेषण करने की कोशिश की, लेकिन कारण पहचानने में सीमितता रही
  • Sleep Aid नामक समर्पित ऐप से wake event को विज़ुअल रूप में देखना संभव हुआ
  • Sleep Aid सेटिंग में "Wake for maintenance" विकल्प के निष्क्रिय रहने को कारण के रूप में पाया गया
  • उस विकल्प को फिर से सक्रिय करने के बाद, रातभर का बैटरी ड्रेन ठीक हो गया

MacBook Pro में रातभर बैटरी ड्रेन की समस्या का अनुभव

  • कई वर्षों से MacBook Pro Silicon M1 Max का उपयोग करता आ रहा/आ रही हूँ
  • हाल ही में अचानक यह समस्या दिखी कि जब लैपटॉप को रातभर बिना पावर के जोड़ें और छोड़ दें, तो बैटरी की खपत तेज़ी से बढ़ जाती है
  • समस्या धीरे-धीरे बढ़ती गई, इसलिए मैंने कारण की सीधी जाँच शुरू की

पावर मैनेजमेंट लॉग का विश्लेषण प्रयास

  • macOS की टर्मिनल कमांड pmset -g log के ज़रिए पावर मैनेजमेंट से जुड़े लॉग देखे जा सकते हैं
  • इस लॉग का आउटपुट बहुत बड़ा होता है और समझना कठिन है, इसलिए लॉग एनालिसिस के लिए मैंने खुद बनाया हुआ सरल टूल pmset-analyzer इस्तेमाल किया
  • लेकिन केवल इस टूल से वास्तविक समाधान में बड़ी मदद नहीं मिली

विस्तृत सेटिंग बदलाव और अतिरिक्त जांच

  • आधिकारिक दस्तावेज़ और समुदाय में सुझाई गई tcpkeepalive जैसी पावर मैनेजमेंट सेटिंग्स को एक-एक करके बदला
  • केवल सेटिंग बदलने से समस्या समाधान पर बड़ा असर नहीं दिखा

Sleep Aid ऐप के ज़रिए समस्या का समाधान

  • अतिरिक्त खोज के दौरान Sleep Aid नाम का ऐप मिला
    • यह ऐप wake event को दृश्य रूप में दिखाता है, और पावर मैनेजमेंट की विभिन्न सेटिंग्स को सहज तरीके से बदलने का इंटरफेस देता है
  • Sleep Aid में जाँच करने पर पता चला कि "Wake for maintenance" विकल्प बंद था
  • ऐप के अनुसार यह सेटिंग बंद रहने पर बार-बार wake events हो सकते हैं
  • उस विकल्प को फिर से सक्रिय किया, और उसके बाद रातभर बैटरी ड्रेन की घटना नहीं आई

2 टिप्पणियां

 
ahwjdekf 2025-08-02

MacBook को sleep mode में रखकर सोता हूँ, लेकिन अचानक भोर में स्क्रीन चालू हो जाती है और पूरा कमरा रोशनी से भर जाता है। सोते-सोते उठकर मैंने कई बार उसे पूरी तरह shut down कर दिया है। यह पता नहीं कब से विवाद का मुद्दा रहा है, लेकिन अब तक भी...

 
GN⁺ 2025-08-01
Hacker News की राय
  • यह एक और उपयोगी टिप है। Activity Monitor में Energy टैब खोलकर Preventing sleep कॉलम के अनुसार sort करें, तो देख सकते हैं कि कौन-सी ऐप macOS को sleep में जाने से रोक रही है। मेरे मामले में Devonthink ऐप कारण निकली। मैंने अभी तक bug report दर्ज नहीं की है। यह अजीब है कि Apple का power management यूज़र को ऐसी समस्या के बारे में बताता नहीं है। बैग के अंदर Mac का बहुत गर्म हो जाना और battery खत्म हो जाना क्या कोई महत्वपूर्ण समस्या नहीं है? इसके मुकाबले Chrome का बार-बार यह पूछना कि network devices खोजने की अनुमति देनी है या नहीं, कहीं कम महत्वपूर्ण लगता है
    • यह भी हैरानी की बात है कि Apple का power management इसके बारे में चेतावनी नहीं देता, लेकिन उससे भी ज़्यादा हैरानी की बात यह है कि lid बंद होने पर भी कोई ऐप सिस्टम को sleep में जाने से रोक सकती है। यह समझ में आता है कि video player जैसी चीज़ों को कभी-कभी timeout-based sleep prevention की ज़रूरत हो सकती है। लेकिन lid बंद करने या sleep button दबाने पर सिस्टम न सोए, यह तय करने का अधिकार किसी ऐप को देना शायद ही कभी उपयोगी होता है। ज़्यादातर मामलों में इसका नतीजा सिर्फ इतना होता है कि backpack में ज़्यादा गरम laptop मिलने की संभावना बढ़ जाती है। ऊपर से, अगर सिर्फ एक web page भी सिस्टम को sleep में जाने से रोक सकती है, तो 70 tabs में से समस्या वाली tab ढूँढना मुश्किल है। timeout-based sleep prevention permission और lid बंद करो तो हर हाल में sleep जैसी core behavior बदलने की permission अलग होनी चाहिए। timeout का उपयोग मंज़ूर हो सकता है, लेकिन lid बंद होना जैसी चीज़ों के लिए यूज़र को ज़रूर बताया जाए और अनुमति ली जाए
    • मुझे पता ही नहीं था कि कोई भी ऐप पूरे सिस्टम की sleep रोक सकती है। ऐसा permission तो यूज़र के नियंत्रण में होना चाहिए। सोचता हूँ कि developer को ऐसी API call करने के लिए कम से कम entitlement तो चाहिए होना चाहिए
    • shell में pmset -g assertions कमांड चलाने पर पता चलता है कि कौन-सा process सिस्टम sleep रोक रहा है, और pending power assertions की detailed जानकारी भी मिलती है। pmset में कुछ undocumented commands भी हैं, जो Apple के source code देखने पर मिलती हैं। किसी specific assertion को ignore करने वाली command भी है। बस UserIsActive assertion बंद कर दें, तो सिस्टम को फिर से जगाने में दिक्कत आ सकती है
    • मुझे पता नहीं था कि ऐसी सुविधा भी है, धन्यवाद। हाल में मैं सोच रहा था कि जिस MacBook का इस्तेमाल नहीं कर रहा था उसकी battery बार-बार क्यों घट रही है, और पता चला कि Firefox sleep रोक रहा था। शायद autoplay video की वजह से। यह perfect नहीं है, लेकिन कम से कम ठीक किया जा सकने वाला मसला है
    • दूसरी ओर Safari Netflix देखते समय power usage ज़्यादा होने पर उसे बंद करने की notification दिखाता है
  • मेरे MacBook Pro में भी ऐसा ही कुछ हुआ था। वह Apple Silicon model नहीं, उससे पहले वाला model था। उस समय मैंने router में DHCP lease time को default से बहुत कम करके 15 मिनट कर दिया था। मेरा अनुमान है कि MacBook हर 15 मिनट पर IP renew करने के लिए जाग जाती थी, फिर थोड़ी देर सोती और फिर जाग जाती थी। router की lease time को पुराने default पर वापस करते ही battery drain की समस्या पूरी तरह खत्म हो गई। उस कारण का अंदाज़ा लगाना मुश्किल था, लेकिन संयोग से मैंने अभी नया MacBook Pro खरीदा था, इसलिए तरह-तरह की चीज़ों पर ज़्यादा ध्यान दे रहा था और जल्दी पकड़ लिया
    • सही तरीके से काम करने वाला DHCP client lease time के 50% पर renewal request भेजता है। यानी संभव है कि वह आपकी सोच से भी ज़्यादा बार जाग रहा हो
    • DHCP lease time को 15 मिनट करने की वजह जानने की जिज्ञासा है। उसका मकसद क्या था?
    • मुझे भी अभी पता चला कि मेरे mikrotik router में default रूप से 10 मिनट की lease duration होती है
    • यह सचमुच दिलचस्प है। सोच रहा हूँ कि IP renew करने के लिए एक बार जागने में कितने mAh खर्च होते होंगे। शायद कुछ milliampere-millisecond के स्तर पर, क्योंकि आख़िर में laptop बस थोड़ी देर के लिए WiFi चालू करके कुछ packets भेजता-लेता होगा। हाँ, चूँकि वह Apple Silicon से पहले का model था, हो सकता है जागने पर उसने और भी कुछ किया हो
    • मुझे यह macOS bug लगता है। sleep के दौरान IP की ज़रूरत नहीं होनी चाहिए, इसलिए DHCP lease renew करने के लिए जागना सामान्य नहीं है। source खुला न होने वाले OS की यही दिक्कत है
  • अगर Wake for maintenance option बंद हो, तो Sleep Aid settings window में बताता है कि इसकी वजह से बार-बार wake हो सकता है। क्या लेखक ने गलती से option बंद था लिख दिया होगा?
    • मुझे भी यही लगा। यह सिर्फ अनुमान है, लेकिन अगर यह setting बंद हो तो wake events घंटे-घंटे में batch होकर एक साथ process होने के बजाय रात भर अलग-अलग समय पर कई बार हो सकते हैं। शायद यही यहाँ हो रहा है
    • यह उलझाने वाला है। क्या कंप्यूटर को explicitly जगाने वाला option चालू करने से wake की संख्या उल्टा कम हो जाती है?
    • मैं भी confused हूँ। लेखक के screenshot में यह Enable दिख रहा है। वही normal लगता है, इसलिए Disabled होने पर ज़्यादा wake क्यों होंगे, यह सहज रूप से समझ नहीं आता
    • ऐसी common sense के खिलाफ़ जाने वाली बातों को अतिरिक्त explanation चाहिए, या कम से कम यह साफ़ लिखना चाहिए कि यह कोई exception है। पोस्ट publish होने के बाद edit करते समय ऐसी चीज़ें पकड़ना मुश्किल होता है
  • मेरे पास जितने भी Mac laptops रहे हैं, मैं lid बंद करते समय हमेशा hibernate set कर देता था और इससे समस्या हल हो जाती थी। दोबारा इस्तेमाल करने के लिए lid खोलने पर 20–30 सेकंड का restore time लगता है, लेकिन sleep और battery drain की चिंता काफ़ी कम हो जाती है, इसलिए यह छोटी-सी कीमत है। Terminal में यह कमांड इस्तेमाल कर सकते हैं: sudo pmset -a hibernatemode 25. वापस पहले जैसा करने के लिए sudo pmset -a hibernatemode 3 डालें
    • जानना चाहूँगा कि hibernate mode FDE (full-disk encryption) के साथ ठीक से काम करता है या नहीं। Linux में memory contents को disk पर लिखते समय encryption से जुड़ी कई सावधानियाँ रहती हैं
    • मुझे लगता है कि यह वही behavior सबसे आसान तरीके से set करता है जिसकी ज़्यादातर लोग उम्मीद करते हैं
  • मैंने Macbook sleep problems पर बहुत लंबे समय तक खोजबीन की, लेकिन कारण WindowServer निकला और लगता है कि आखिरकार पूरा OS reinstall करना पड़ेगा। हर एक-दो महीने में बैग से गर्म और discharge हुआ laptop निकालने जितनी निराशाजनक चीज़ बस वही प्रतिक्रिया है कि मेरे साथ तो ऐसा नहीं हुआ, शायद तुमने कुछ गलत किया होगा
  • MacOS मुझे पिछले 10 साल से लगभग maintenance mode में ही लगता है। ARM/Mac Silicon porting में बहुत काम गया होगा। AI updates भी निराशाजनक रहे, और हाल में कोई खास ठोस सुधार नज़र नहीं आए। मैंने पहले Intel Macbook Air इस्तेमाल किया था जिसमें power button backspace के बिलकुल पास था। एक बार दबते ही बंद न हो, इसके लिए hold करना पड़े—ऐसा script मुझे किसी Mac forum पर मिला था और मैं वही इस्तेमाल करता था। लेकिन उस script में trojan छिपा हुआ था, और मुझे Mac को factory reset करना पड़ा, साथ ही iCloud भी पूरी तरह साफ़ करना पड़ा। उस script में कोई GUID जैसा internal variable भी था और कहा गया कि वह कहीं अज्ञात जगह से resources download कर सकता था। मैंने तो उसे बस कोई internal variable समझ लिया था
  • Apple के आधिकारिक support document के अनुसार यह feature (power options) built-in है
    • macOS 26 DB वाले M4 MacBook Air में उस जगह power nap नहीं है। उसकी जगह Wake for network access है, और default Only on Power Adapter है
    • मैं power nap और wake for network access को एक ही चीज़ समझ बैठा था। लगता है macOS 26 में अब यह option अलग से नहीं है। मेरी setting Only on Power Adapter पर है, जो ठीक लगती है। यह M4 MacBook Air पर है
  • मैंने भी पिछले हफ़्ते लगभग यही blog post लिखी थी। दुर्भाग्य से मेरे मामले में वह solution काम नहीं आया, क्योंकि power nap के अलावा कोई और process बार-बार जगा रहा है। संबंधित पोस्ट: annoying.technology post
  • Activity Monitor का Energy टैब ऐसी स्थिति में काम का है। इससे पता चलता है कि कौन-सी ऐप सिस्टम sleep को पूरी तरह रोक रही है, और हर process की पिछले 12 घंटे की power usage भी देखी जा सकती है। रात भर में ही कारण का पता लगाया जा सकता है
  • मुझे भी MacBook Pro (Apple Silicon) पर ऐसी ही समस्या हो रही है। अगर SSD जोड़ी हुई हो और सिस्टम को sleep में डालें, तो लगता है कि वह समय-समय पर जागकर drive को सक्रिय करता है। नतीजा यह कि laptop और SSD दोनों गर्म हो जाते हैं और battery जल्दी खत्म होती है। अभी तक एकमात्र उपाय यही है कि sleep से पहले सभी external drives हटा दूँ और उसे charger से जोड़े रखूँ। यह काफ़ी परेशान करने वाला bug है। लगता है quality control और testing की कमी रही है