Процесс Zombie с использованием 100% CPU

Зомби-процесс , который не должен использовать какие-либо ресурсы (ОЗУ и ЦП), забивает все ядро на моей 8-разрядной 64-разрядной установке Ubuntu 11.10 Desktop.

Это вывод ps -el|grep Z :

 FS 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. Я открыл Java JAR под названием 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 .

Релевантная информация:

  • Графический драйвер FGLRX , и он вызвал печально известные проблемы с Unity Ubuntu 11.04 и Ubuntu 11.10 , включая иногда высокую загрузку процессора Xorg и compiz .

Я хочу знать:

  1. Какой способ уничтожить этот процесс java без перезапуска, если таковой имеется?
  2. Почему эта проблема происходит?
  3. Что я могу сделать, чтобы предотвратить повторение этой проблемы?

Этот процесс уже был регенерирован для init , поэтому он должен быть собран (иначе решение, вероятно, должно было бы убить его родителя). Похоже, что он застрял в exit , основываясь на поле WCHAN .

На самом деле это может сделать что-то (например, создание дампа ядра), которое закончится, и оно исчезнет само по себе. К сожалению, это, скорее всего, крутится в ядре из-за разбитого драйвера и, в конечном счете, ваш единственный вариант – перезагрузка.

Вы пробовали sudo kill -SIGCHLD 1 ? Если это не сработает, вам необходимо перезагрузить систему.

Подробнее об этом: https://stackoverflow.com/questions/6335730/zombie-process-cant-be-killed и https://serverfault.com/questions/89759/init-never-reaping-zombie-defunct-processes

Процессы зомби умерли, но еще не были очищены (пожинает правильный термин), и, таким образом, kill не работает на них, как на обычный процесс. Этот процесс все еще находится в таблице процессов, но когда он зомби, ресурсы были выделены.

Вы можете попробовать отправить сигнал SIGCHLD на родительский элемент процесса, иначе init должен был поднять его и в конце концов извлечь. Если вы хотите ускорить процесс, вы можете просто перезагрузить компьютер.

Это ошибка ядра. Используете ли вы ecryptfs для шифрования своего домашнего каталога? Об ошибке на сайте launchpad.net есть ошибка.

Interesting Posts

Шифрование LUKS с неинтерактивным входом на RHEL6

WPF ListView – обнаружение, когда выбран выбранный элемент

Каковы причины отказа ICMP на моем сервере?

Как автоматически включить numlock при входе в Windows 10

Какова цель этого 4-контактного кабеля с 3 проводами, которые поставляются со старым DVD-приводом IDE?

vector :: size_type в C ++

Доступные библиотеки Coroutine на Java

Перемещение общих папок в Windows 7

Несоответствие UUID обнаружено в загруженной библиотеке

Какое максимальное количество папок разрешено в папке в Linux?

Запись dd на флэш-накопитель USB вызывает массивные чтения

Несколько запущенных classов внутри JAR, как их запустить?

Может ли общий барабанный блок вызвать загрязнение принтера Brother HL-2170w Laser B & W?

Пакетный файл, который запускает команду cmd.exe, команду, а затем остается открытым в приглашении

Как использовать общие свойства для нескольких проектов maven?

Давайте будем гением компьютера.