सस्पेंड पर कार्य "फ्रीज करने से मना" कैसे कर सकते हैं?


17

कल, मेरे लैपटॉप को बंद करते समय, यह तुरंत स्टैंडबाय मोड में नहीं गया। लॉग के अनुसार, यह करने की कोशिश कर रहा था, लेकिन एक कार्य को फ्रीज करने से इनकार कर दिया:

Freezing of tasks failed after 20.005 seconds (1 tasks refusing to freeze, wq_busy=0):

यह कुछ घंटों तक चला जब तक कि सिस्टम वास्तव में निलंबित नहीं हुआ। इस प्रश्नsyslog में संदेशों की तरह भरा हुआ था , क्योंकि बार-बार कोशिश कर रहा था।systemd

ये केसे हो सकता हे? शेड्यूलर केवल उस एप्लिकेशन को शेड्यूल करना बंद क्यों नहीं कर सकता? और फिर यह प्रभावी रूप से जमे हुए है? मैंने पढ़ा कि कई STOPकमांड हैं, उनमें से एक अच्छी तरह से पूछ रहा है और उनमें से एक को फ्रीज करने के लिए मजबूर किया गया है। systemdइस का उपयोग क्यों नहीं किया या यहां क्यों काम नहीं किया?

जवाबों:


25

टास्क फ्रीजिंग को कर्नल डॉक्यूमेंटेशन में विस्तार से लिखा गया है

उपयोगकर्ता-स्थान प्रक्रियाओं को फ्रीज करने से इनकार नहीं कर सकता; वे जम जाते हैं, लेकिन कर्नेल और प्रक्रियाओं के बीच सिग्नलिंग को सिग्नल-हैंडलिंग कोड (फ्रीजिंग एक नकली सिग्नल का उपयोग करता है) द्वारा स्वचालित रूप से नियंत्रित किया जाता है।

यदि आप "कार्यों को फ्रीज करने से इनकार करने वाले कार्य" देख रहे हैं, तो इसका मतलब है कि एक कर्नेल थ्रेड फ्रीज करने से इनकार कर रहा है, आमतौर पर क्योंकि यह कुछ ऐसा कर रहा है जिसे चेकपॉइंट नहीं किया जा सकता है। हालांकि कर्नेल को निलंबित करने के लिए कई घंटे इंतजार करना सामान्य नहीं है; लॉग संदेशों में स्टैक के निशान से पता चल जाएगा कि क्या गलत हो रहा है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.