LINUX.ORG.RU

Перезагрузка или есть способ?

 , ,


0

1
top - 21:27:41 up 1 day,  1:11,  5 users,  load average: 13,85, 12,48, 11,70
Tasks: 333 total,  14 running, 318 sleeping,   0 stopped,   1 zombie
%Cpu(s): 76,7 us,  8,9 sy,  0,0 ni,  9,1 id,  5,3 wa,  0,0 hi,  0,0 si,  0,0 st
MiB Mem :   7873,4 total,   4153,4 free,   2582,5 used,   1137,5 buff/cache
MiB Swap:   8192,0 total,   5943,8 free,   2248,2 used.   4951,1 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND  
   9370 XXX       20   0  916056 292576  12592 R 100,0   3,6 913:25.32 root.exe 
   9372 XXX       20   0  882516 229676  12180 R 100,0   2,8 913:27.68 root.exe 
   1402 root      20   0       0      0      0 Z 100,0   0,0  75:23.75 Xorg     
   9374 XXX       20   0  883556 166400  12476 R 100,0   2,1 912:44.94 root.exe 
   9369 XXX       20   0  887224 191468  12220 R  99,7   2,4 913:04.33 root.exe 
   9376 XXX       20   0  898096 272436  11852 R  99,7   3,4 912:48.13 root.exe 
   9375 XXX       20   0  888488 245164  12384 R  92,0   3,0 912:15.83 root.exe 
   9373 XXX       20   0  879456 165216  12248 R  87,0   2,0 912:33.03 root.exe 
   9371 XXX       20   0  884036 209320  12276 R  85,0   2,6 912:25.07 root.exe 
   9377 XXX       20   0  886136 184280  12396 R  80,7   2,3 912:56.91 root.exe 
   9378 XXX       20   0  883296 244228  12628 R  80,4   3,0 912:51.42 root.exe 
  67619 root      20   0       0      0      0 I   0,3   0,0   0:01.95 kworker+ 
  72866 XXX       20   0   12420   4184   3392 R   0,3   0,1   0:00.02 top      
  1. sudo service lightdm restart - команда зависает
  2. sudo service lightdm stop - команда зависает
  3. sudo kill 1402 - нет реакции
  4. sudo kill -9 1402 - top после показан выше

Ответ на: комментарий от sparks

1.«перезагрузка» - «мы не ищем легких путей»(с)
2.root.exe - это программа пользователя, как Вы видели, к системному root’у отношения не имеет

valentin630
() автор топика
Последнее исправление: valentin630 (всего исправлений: 1)
Ответ на: комментарий от valentin630

А чем плоха перезагрузка? В этой ситуации, процесс Xorg с pid 1402, в таблице процессов ядра потерял своего «папку» и сидит теперь как дурачёк с кодом возврата и ждёт пока его заберут, а забирать никто не хочет, на него повесили шильдик Z, высвободили все ресурсы и забили. Никто не мешает иметь кучу одновременно запущенных Xorg’ов, он в некотором роде спроектирован под это дело, просто будет всё отображаться на DISPLAY=:1

sparks ★★★
()
Ответ на: комментарий от sparks

1.Как видно, 10 задач уже проработали по 15 часов и не завершились.
2.Этот «дурачёк» отжирает 100% одного процессора.

valentin630
() автор топика
Последнее исправление: valentin630 (всего исправлений: 2)
Ответ на: комментарий от valentin630

Ну да, они чтото там делают, процессы не всегда завершаются по цепочке, в случае если родитель хочет завершить свою деятельность, возможно как раз по этому и не хочет завершиться Xorg и вернуть уже свой результат в wait() системы инициализации

sparks ★★★
()
Последнее исправление: sparks (всего исправлений: 1)

Цель какая? Запустить гуи?

Набери

ps axwwo user,pid,ppid,command | grep 1402

посмотри что там в колонке ppid на на него такую же команду, и так по цепочке до pid 1.

Ну или можешь pstree -p сделать, может такой вид удобнее будет. После этого уже выясняй почему завис родитель Xorg-а.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Цель тут на ладони - не потерять 150 часов расчетов. Не понимаю, как знание того, кто запускает Xorg, поможет этому?

А чисто познавательно хотелось бы знать, почему в linux образуется такая ситуация, и нет способа убить паразитный процесс?

valentin630
() автор топика
Ответ на: комментарий от valentin630

Чтобы не потерять расчёты - достаточно подождать пока они доделаются. Этим расчётам графика же не нужна? Вот пусть и считаются без неё. Чем тебе Xorg мешает?

Не понимаю, как знание того, кто запускает Xorg, поможет этому?

Потому что завис не Xorg а тот кто его запустил. Об этом свидетельствует буква Z в его статусе.

А чисто познавательно хотелось бы знать, почему в linux образуется такая ситуация, и нет способа убить паразитный процесс?

Такое бывает действительно иногда, но у тебя не тот случай - Z означает что процесс уже завершился, и ждёт своего запускателя чтоб окончательно удалиться из списка. Откуда там написано 100% cpu не знаю, видимо баг.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Такое бывает действительно иногда, но у тебя не тот случай - Z означает что процесс уже завершился, и ждёт своего запускателя чтоб окончательно удалиться из списка. Откуда там написано 100% cpu не знаю, видимо баг.

1.Z означает, что процессу присвоено звание «зомби», а вот завершился ли он - это «бабушка на двое сказала», я бы свою руку на отсечение не дал бы, а Вы?
2.Общая сумма загрузки CPU(12 потоков) включает и 100% Xorg. Где «баг», в каком коде?
3.Почему не перезапускается/останавливается графика, которая породила Xorg?

P.S.Я рассматриваю эту ситуацию как ненормальную, т.е. непредсказуемую однозначно. Вопрос более общий, чем сохранение насчитанных результатов (промежуточные результаты программно сохраняются для возможного продолжения - на дядю(систему) пока нет надежды)

valentin630
() автор топика
Последнее исправление: valentin630 (всего исправлений: 1)
Ответ на: комментарий от valentin630

1. Зомби это и есть завершившийся процесс.

2. Не знаю, какая разница то? Где-то в ядре. Ты ж не побежишь его чинить?

3. Вопрос непонятен. Что это такое вообще - «графика которая породила Xorg»?

Повторяю - посмотри какой у него ppid и узнай что происходит с тем процессом. Это несложно, но ты вместо этого зачем-то начал какие-то бесполезные идеологические споры.

P.S.Я рассматриваю эту ситуацию как ненормальную,

Конечно ненормальная, Xorg почему-то упал, а в ядре баг из-за которого зомби-процессу приписывается потребление проца. Но всё-таки посмотри ppid.

firkax ★★★★★
()
Ответ на: комментарий от firkax

3.Что это такое вообще - «графика которая породила Xorg»?

Думаю, что не процесс №1. Наверное, в моем случае lightdm. Он-то должен был убиться при рестарте, однако, выжил. Докладывать такое как баг бесполезно без логов и т.п.

Но всё-таки посмотри ppid.

Думаете, я сутки жду что будет? С удаленного терминала команда «reboot» его отключила, но компьютер не перегрузился, на старт по сети тоже не ответил - пришлось просить человека нажать на кнопочку.

valentin630
() автор топика
Ответ на: комментарий от valentin630

Наверное, в моем случае lightdm. Он-то должен был убиться при рестарте, однако, выжил.

А надо было не предполагать а сразу посмотреть, ну да ладно уже поздно.

Думаете, я сутки жду что будет?

Ты же не хотел ребутать, логично было ждать пока оно досчитается. Я так и не понял мотивацию твоих действий. О том, что тебе нужно работающее гуи, тут ни слова не было, когда я тебя спрашивал цель мероприятия.

С удаленного терминала команда «reboot» его отключила, но компьютер не перегрузился

Такое обычно бывает из-за ядерных зависаний, которые либо из-за багов в ядре, либо из-за багов в железе.

firkax ★★★★★
()
Ответ на: комментарий от firkax

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

valentin630
() автор топика
Ответ на: комментарий от valentin630

Мой пост по большому счету - не решить сиюминутно проблему, а понять ее, и, возможно, инициировать лечение

Из лечения к сожалению только два простых способа:

1) ждать обновлений ядра

2) заменить железо (частично или полностью)

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

firkax ★★★★★
()
Ответ на: комментарий от sparks

root.exe - это церновская библиотека ROOT. У них там какая традиция тянется еще с 1995 года. Вполне возможно, что библиотека сначала разрабатывалась на Windows NT. В 1994-95 годах Linux был ещё в зародыше.

rupert ★★★★★
()
Ответ на: комментарий от sparks
$ file /usr/bin/root.exe 
/usr/bin/root.exe: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=86446e8a66634503abaef16cc9b4a3208821da57, for GNU/Linux 4.4.0, stripped
luke ★★★★★
()
Последнее исправление: luke (всего исправлений: 1)
Ответ на: комментарий от valentin630

Цель тут на ладони - не потерять 150 часов расчетов

Не писать багованных скриптов, сохранять на диск как можно чаще.

А чисто познавательно хотелось бы знать, почему в linux образуется такая ситуация, и нет способа убить паразитный процесс?

killall -9 root.exe

luke ★★★★★
()
Ответ на: комментарий от sparks

Что-то 150 часов считал и не проверял.

С рутом такой фокус не пройдёт, это софт на плюсах, который писали физики. Там работа с памятью и ручной закат солнца руками во все поля.

luke ★★★★★
()