100% CPU का उपयोग करके ज़ोंबी प्रक्रिया


13

एक ज़ोंबी प्रक्रिया , जिसे किसी भी संसाधन (रैम और सीपीयू) का उपयोग नहीं करना चाहिए, मेरे 8-कोर 64-बिट उबंटू 11.10 डेस्कटॉप इंस्टॉलेशन पर पूरे कोर को हाईजैक कर रहा है।

यह आउटपुट है ps -el|grep Z:

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 Z  1000 10317     1 99  80   0 -     0 exit   ?        19:27:15 java <defunct>

... और यहाँ से एक अंश है top:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                                
10317 deltik    20   0     0    0    0 Z  100  0.0   1170:17 java <defunct>
 1424 root      20   0  612m 193m 158m S   14  2.4 287:17.11 Xorg
12580 deltik    20   0  710m 135m  46m S    5  1.7  27:31.07 compiz

इस तरह से ज़ोंबी प्रक्रिया अस्तित्व में आई:

  1. मैंने minecraft.jar नामक एक जावा JAR खोला । यह लॉन्चर ~ / .minecraft / bin / minecraft.jar के लिए एक और JAR फ़ाइल डाउनलोड करता है
  2. उस JAR को तब क्रियान्वित किया गया जब मैंने अपने कंप्यूटर को लॉक किया xscreensaver
  3. फिर, मैंने कंप्यूटर को अनलॉक करने के लिए अपना पासवर्ड दर्ज किया, और मैंने देखा कि Minecraft विंडो जमी हुई थी।
  4. मैंने इसे (पीआईडी ​​10317) से मारने की कोशिश की gnome-system-monitor। यह एक ज़ोंबी बन गया।
  5. kill -9 10317 अप्रभावी था।
  6. xkillकेवल "Minecraft" शीर्षक वाली खिड़की को बंद कर दिया; इसने अंतर्निहित javaप्रक्रिया को बंद नहीं किया ।

प्रासंगिक जानकारी:

  • ग्राफिक्स ड्राइवर FGLRX है , और इसने Ubuntu 11.04 और Ubuntu 11.10 की एकता के साथ कुख्यात मुद्दों को जन्म दिया है , जिसमें कभी-कभी उच्च सीपीयू उपयोग भी शामिल है और ।Xorgcompiz

मैं जानना चाहता हूँ:

  1. javaफिर से शुरू किए बिना, इस प्रक्रिया को नष्ट करने का क्या तरीका है ?
  2. यह मुद्दा क्यों बन रहा है?
  3. मैं इस मुद्दे को फिर से होने से रोकने के लिए क्या कर सकता हूं?

1
मुझे डर है कि मैं व्यक्तिगत रूप से आपकी मदद नहीं कर सकता, लेकिन मैं यह बताने के लिए एक अच्छा काम करने के लिए आपकी सराहना करता हूं कि क्या हुआ और आपने अब तक क्या किया है!
nhinkle

7
"अरे दोस्तों यह एप्लीकेशन बहुत सी CPU समय का उपयोग कर रहा है। वैसे, यह जावा में लिखा है। नहीं पता कि क्या दोनों संबंधित हैं ???"
ta.speot.is

सबसे अधिक संभावना है कि यह एक ताला पर घूम रहा है।
डैनियल आर हिक्स


यह खेलते समय मेरे साथ भी होता है, @RedGrittyBrick एक ज़ोंबी जावा प्रक्रिया जो कि मिनीक्राफ्ट जार को चलाने वाली प्रक्रिया है और गेम के अंदर एक ज़ोंबी अलग-अलग सामान है।
फॉक

जवाबों:


8

इस प्रक्रिया को पहले ही रद्द कर दिया गया है init, इसलिए इसे ठीक किया जाना चाहिए (अन्यथा, समाधान संभवतः अपने माता-पिता को मारने के लिए होगा)। यह क्षेत्र के exitआधार पर अटका हुआ प्रतीत होता है WCHAN

यह वास्तव में कुछ कर सकता है (जैसे कोर डंप बनाना) जो खत्म हो जाएगा और यह अपने आप दूर हो जाएगा। दुर्भाग्य से, यह कर्नेल में टूटी हुई चालक के कारण कताई की संभावना है और अंततः, आपका एकमात्र विकल्प रिबूट करना होगा।


यह प्रश्न पूछे जाने के बाद से कुछ समय हो गया है, लेकिन मैं अपनी समस्या को फिर से बनाने में असमर्थ था, खासकर एफजीएलआरएक्स को नवीनतम संस्करण में अपडेट करने के बाद । मैंने इसे सर्वश्रेष्ठ उत्तर के रूप में चुना है क्योंकि यह टूटे हुए चालक को इंगित करता है और सबसे व्यापक है।
१०:१२ पर डेल्टीक


4

ज़ोंबी प्रक्रियाओं की मृत्यु हो गई है, लेकिन अभी तक साफ नहीं किया गया है (ठीक किया गया शब्द सही शब्द है) और इस killतरह एक सामान्य प्रक्रिया की तरह उन पर काम नहीं करता है। प्रक्रिया अभी भी प्रक्रिया तालिका में है, लेकिन जब यह एक ज़ोंबी है, तो संसाधन डी-आवंटित किए गए हैं।

आप SIGCHLDप्रक्रिया अभिभावक को संकेत भेजने का प्रयास कर सकते हैं , अन्यथा init को इसे चुनना चाहिए था और अंततः इसे पुनः प्राप्त करना होगा। यदि आप इस प्रक्रिया को गति देना चाहते हैं तो आप बस रिबूट कर सकते हैं।


1

यह एक कर्नेल बग है। क्या आप अपने घर निर्देशिका को एन्क्रिप्ट करने के लिए ecryptfs का उपयोग कर रहे हैं? लॉन्चपैड.net पर उस बारे में एक बग दर्ज किया गया है।


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