กระบวนการซอมบี้ใช้ CPU 100%


13

กระบวนการผีดิบซึ่งไม่ควรที่จะใช้ทรัพยากรใด ๆ (RAM และ CPU) จะกินเวลาขึ้นหลักทั้ง 8-core 64 บิต Ubuntu 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. ฉันเปิด JAR Java เรียกminecraft.jar ตัวเรียกใช้นี้ดาวน์โหลดไฟล์ JAR อื่นไปที่ ~ / .minecraft / bin / minecraft.jar
  2. JAR xscreensaverที่ได้รับการดำเนินการเมื่อฉันล็อคคอมพิวเตอร์ของฉันด้วย
  3. จากนั้นฉันป้อนรหัสผ่านเพื่อปลดล็อกคอมพิวเตอร์และฉันเห็นว่าหน้าต่าง Minecraft หยุดทำงาน
  4. ฉันพยายามฆ่ามัน (PID 10317) gnome-system-monitorด้วย มันกลายเป็นซอมบี้
  5. kill -9 10317 ไม่ได้ผล
  6. xkillปิดหน้าต่างที่ชื่อ "Minecraft" เท่านั้น มันไม่ได้ปิดjavaกระบวนการพื้นฐาน

ข้อมูลที่เกี่ยวข้อง:

ฉันอยากจะรู้:

  1. มีวิธีอะไรที่จะทำลายกระบวนการนี้javaโดยไม่ต้องเริ่มต้นใหม่ถ้ามี?
  2. เหตุใดปัญหานี้จึงเกิดขึ้น
  3. ฉันจะทำอย่างไรเพื่อป้องกันไม่ให้ปัญหานี้เกิดขึ้นอีกครั้ง

1
ฉันเกรงว่าฉันจะไม่สามารถช่วยคุณได้ แต่ฉันขอแนะนำให้คุณอธิบายให้ดีว่าเกิดอะไรขึ้นและคุณพยายามจนถึงตอนนี้!
พฤศจิกายน

7
"เฮ้พวกแอปพลิเคชั่นนี้ใช้เวลา CPU นานมากแล้วมันเขียนด้วยภาษา Java ไม่รู้ว่าทั้งสองเกี่ยวข้องกันอย่างไร"
ta.speot.is

ส่วนใหญ่แล้วมันจะหมุนบนล็อค
Daniel R Hicks


มันเกิดขึ้นกับฉันในขณะที่เล่น @RedGrittyBrick กระบวนการ java แบบจาวาที่ใช้ minecraft jar และ zombie ในเกมเป็นสิ่งที่แตกต่างกัน
Falk

คำตอบ:


8

กระบวนการนี้ได้รับการซ่อมแซมinitใหม่ดังนั้นจึงควรได้รับการเก็บเกี่ยวใหม่ (ไม่เช่นนั้นโซลูชันน่าจะฆ่าผู้ปกครอง) ดูเหมือนว่าจะติดอยู่exitตามWCHANเขตข้อมูล

จริง ๆ แล้วมันอาจจะทำอะไรบางอย่าง (เช่นการสร้างคอร์ดัมพ์) ที่จะเสร็จสิ้นและมันจะหายไปเอง น่าเสียดายที่มีการหมุนในเคอร์เนลเนื่องจากโปรแกรมควบคุมที่ใช้งานไม่ได้และท้ายที่สุดตัวเลือกเดียวของคุณคือการรีบูต


ไม่นานหลังจากที่ฉันถามคำถามนี้ แต่ฉันไม่สามารถสร้างปัญหาอีกครั้งโดยเฉพาะหลังจากอัปเดต FGLRXเป็นเวอร์ชันล่าสุด ฉันเลือกคำตอบนี้เป็นคำตอบที่ดีที่สุดเพราะมันชี้ให้เห็นว่าคนขับรถเสียและเป็นรถที่ครอบคลุมที่สุด
Deltik


4

กระบวนการผีดิบมีผู้เสียชีวิต แต่ยังไม่ได้รับการทำความสะอาดขึ้น (เก็บเกี่ยวเป็นคำที่ถูกต้อง) และดังนั้นจึงkillไม่ได้ทำงานกับพวกเขาเหมือนเป็นกระบวนการปกติ กระบวนการยังคงอยู่ในตารางกระบวนการ แต่เมื่อมันเป็นซอมบี้ทรัพยากรได้รับการจัดสรร

คุณสามารถลองส่งSIGCHLDสัญญาณไปยังพาเรนต์กระบวนการมิฉะนั้น init ควรรับมันขึ้นมาและจะทำการเก็บเกี่ยวใหม่ในที่สุด หากคุณต้องการเพิ่มความเร็วของกระบวนการคุณสามารถรีบูตได้ง่ายๆ


1

นี่เป็นข้อผิดพลาดเคอร์เนล คุณใช้ ecryptfs เพื่อเข้ารหัสไดเรกทอรีบ้านของคุณหรือไม่ มีข้อผิดพลาดเกี่ยวกับเรื่องนี้ใน launchpad.net


ไม่ฉันเข้ารหัสไฟล์ด้วยตนเองในไดเรกทอรีบ้านของฉัน
Deltik
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.