- Что делать при зависании программ в Linux?
- Почему зависают программы и приложения?
- Завершение зависших приложений в командной оболочке
- Зависание графической оболочки в Linux
- Нехватка памяти и полное зависание системы
- Заключение
- Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
- Re: Когда виснет графеческая оболочка.
Что делать при зависании программ в Linux?
Ни одна современная операционная система (ОС), какой бы совершенной она ни была, не избавлена от вероятности зависаний и/или сбоев. Однако, какими бы ни были зависания и как бы часто они не происходили, всегда следует уметь выходить из подобных ситуаций с наименьшими потерями и ущербом для системы. О том, как правильно это делать в системах Linux. Какие вообще бывают ситуации, связанные с зависанием процессов или самой системы, будет изложено в данной статье.
Почему зависают программы и приложения?
В первую очередь это происходит из-за действий пользователей. Система не может предусмотреть все без исключения ситуации, которые потенциально могут вызвать сбой или зависание. А действия самого пользователя порой бывают чрезмерно необдуманными.
Некачественное программное обеспечение (ПО), которое не было должным образом протестировано разработчиками. А также ПО сомнительного происхождения также являются частой причиной зависаний.
Аппаратная составляющая также оказывает существенное влияние на работу ОС. Например достаточный объём оперативной памяти, стабильные частоты, на которых она работает, высокоскоростная дисковая подсистема. Всё это является важным фактором, существенно снижающим вероятность зависаний.
Системы на основе Linux заслуженно и неоспоримо считаются наиболее устойчивыми к различного рода сбойным ситуациям. Ядро этих систем действительно, работает очень стабильно и способно «переваривать» нагрузки в круглосуточном режиме на протяжение очень длительного времени. Системы Windows такими показателями похвастаться не могут. Именно поэтому, управление самыми высоконагруженными серверами, где критически важна надёжная работа системы. Доверяют именно Unix/Linux.
Но, как бы ни была надёжна Linux, сбои и зависания происходят и в этой ОС. В подавляющем большинстве случаев они связаны либо с устаревшей, маломощной аппаратной составляющей, либо с нестабильным ПО. В последнем случае это касается по большей части настольных компьютеров обычный пользователей. Где используются различные графические оболочки. Что и говорить, графическая подсистема — одна из наиболее уязвимых для сбоев в ОС Linux.
Завершение зависших приложений в командной оболочке
Прежде всего необходимо знать и понимать, каким образом идентифицировать зависший процесс. Ну а дальше попытаться его завершить принудительно.
Каждому процессу в системе соответствует свой уникальный идентификатор (PID). При помощи которого система им управляет, в частности может завершить. Самым простым способом узнать PID процесса является команда pidof:
В данном случае в качестве аргумента указывается имя процесса. Для примера используется утилита psensor. Считывающая показания, предоставляемые различными провайдерами для системных датчиков: lm-sensors, hddtemp, udisks2 и т. д. Если, к примеру, замечено, что psensor не обновляет показания датчиков, т. е. предполагается, что эта утилита зависла. То завершить её можно командой kill, передав ей соответствующий PID:
Эта команда предназначена для отправки сигналов управления процессам. По-умолчанию завершает процесс. Для завершения процессов по их имени существует команда killall:
Однако, использование kill по идентификаторам процессов более корректно. К тому же команда kill более предпочтительна для крепко зависших процессов. И обладает более гибкими возможностями.
Вообще в таких случаях может быть проблематично использовать или запустить командную консоль. Поскольку она также может зависнуть. Тогда можно попытаться переключиться на параллельный сеанс комбинацией клавиш . Где N – номер функциональных клавиш от 1 до 12, например F1, F2, . . . F12. И уже оттуда продолжить работу с процессами.
Зависание графической оболочки в Linux
Как уже было отмечено выше, если в системе установлена и работает какая-либо из графических оболочек (GNOME, KDE, Xfce и т. д.), то это лишний повод увидеть перед собой зависшее окно какого-либо приложения, либо даже целиком некликабельный рабочий стол. В таком случае удобно воспользоваться графическим менеджером процессов и управлять ими визуально. Используя элементы интерфейса и контекстное меню процесса.
Но бывает также и так, когда рабочий стол не реагирует ни на клики мыши, ни на привязанные к нему клавиатурные комбинации. В этом случае остаётся задействовать виртуальные терминалы. Переключившись на один из них, как это указано в предыдущей главе по нажатию сочетаний клавиш . Стоит отметить, что при переключении на такой терминал необходимо сначала авторизоваться в системе через него. После этого можно попытаться перезапустить графическую оболочку и/или X-сервер, например для Ubuntu:
Здесь lightdm или ssdm зависит от того, какая графическая оболочка используется. В последних версиях дистрибутивов Ubuntu в основном используется композитный менеджер ssdm.
Нехватка памяти и полное зависание системы
В некоторых случаях зависание процесса может быть вызвано нехваткой памяти. Особенно когда сам процесс потребляет её слишком много, т. е. Как говорят, «сильно течёт». Иногда это не очевидно, если такой процесс выполняется в фоне, а пользователь непосредственно с ним не работает. Такие случаи выявляются по первичным признакам в виде общей «заторможенности» всей системы. Когда зависший процесс отобрал большую часть ресурса памяти. В данном случае нужно выявить такой процесс, воспользовавшись командой ps. И отсортировав все процессы по количеству используемой памяти:
Будет выведена таблица, среди столбцов которой есть столбец «%MEM», указывающий количество памяти в процентном соотношении от доступной в системе и используемой соответствующим процессом, запущенным командой, указанной в столбце «COMMAND».
К примеру, если это веб-браузер Firefox, то у него может быть много связанных с ним процессов:
Их можно разом завершить:
Но может и случиться так, что даже Linux-система может зависнуть наглухо, не реагируя ни на что. В таких случаях, как правило, само ядро продолжает работать и ему можно отдавать команды, в том числе и через клавиатуру. Таким образом, можно попытаться более-менее корректно, с наименьшими потерями выполнить ручную поэтапную перезагрузку, передавая ядру соответствующие команды через клавиатурные сочетания. Эти команды следует отдавать, нажимая следующие клавиши через каждые 3-4 секунды, при этом удерживая сочетание клавиш :
- R – возврат управления клавиатурой непосредственно ядру.
- E – отправка сигнала SigTerm всем запущенным процессам.
- I — отправка сигнала SigKill всем запущенным процессам.
- U – перемонтирование всех файловых систем в режиме «только чтение».
- S – сохранение всех актуальных буферов и временных данных файловых систем на диск.
- B – собственно, перезагрузка.
На этапах 2 и 3 стоит объективно оценивать время работы команды. Если процессов запущенно много, то и времени на их завершение и уничтожение может также потребоваться несколько больше, чем 3-4 секунды.
Заключение
В заключение, стоит отметить, что хотя в системах Linux далеко не так часто случаются вообще какие-либо зависания. Однако всё же необходимость правильно и быстро вывести систему из нештатного состояния может возникнуть в любой момент. Такими состояниями являются рассмотренные в данной статье как зависания отдельных процессов, так и целых подсистем, например графической. Также был рассмотрен вариант с ручной перезагрузкой системы в случае её полного зависания.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Когда виснет графеческая оболочка.
Здравствуйте. У меня Linux UBUBUNTU 7.10. Очень часто виснет игра Nexuiz. (каждый раз когда запускаю — 50%, что зависнет).. и с ней вся графическая оболочка. даже Ctrl+Alt+F2 не работает (вернее, если нажать надо ждать минут 10 и все-таки появится консоль. но она так глюить будет. ) и вот не знаю, как завершить. приходится Alt+SysRq+B — перезагруживать систему. Не подскажите, как можно убить зависшую игру, но так чтоб не перезагружать систему.
P.S. Это игра так криво написанная или я что-то не так делаю. ну она все время виснет. 🙁
Re: Когда виснет графеческая оболочка.
Cntr+Alt+Backspace убивает иксы + иногда sshd помогает если можешь зайти на себя с другого компа
Re: Когда виснет графеческая оболочка.
Re: Когда виснет графеческая оболочка.
А какие у вас драйвера видео и какая карта мы должны угадать?
Re: Когда виснет графеческая оболочка.
А чего угадывать — наверняка ATI
Re: Когда виснет графеческая оболочка.
Ctrl+Alt+Backspace не работает тоже. Alt+SysRq+K — еще не пробовал, попробую. 🙂
> А какие у вас драйвера видео и какая карта мы должны угадать? я совсем новичек в Линукс. какие драйвера не знаю.. 🙁 вы скажите, как узнать:) видеокарта — NVIDIA.
Re: Когда виснет графеческая оболочка.
Запусти следующую команду в консоли и запости ее вывод. cat /etc/X11/xorg.conf | grep Driver
ПыСы Бубунта слишком тормозный дистрибутив, чтоб на ней играть.
Re: Когда виснет графеческая оболочка.
> ПыСы Бубунта слишком тормозный дистрибутив, чтоб на ней играть.
блин, вы меня расстроили :-\ а у меня другого нету. я себе этот купил, и еще 5 ДВД с софтом для него.
я так и знал, что Убунту тормозная. вечно все глючит.. :((
Re: Когда виснет графеческая оболочка.
О брат по несчастью.
У меня радеон 9200 тоже висит, если по ssh зайти то иксы не прибить они в зомби уходят, помогает только резет, при штатном shuttdown -r now виснет окончательно.
Re: Когда виснет графеческая оболочка.
вроде ресет вредный для линуха. я прочитал, вот что: (правда хз правда ли)
нажимать эти сочитанияклавиш: Alt+SysRq(PrintScreen) + R Alt+SysRq(PrintScreen) + E Alt+SysRq(PrintScreen) + I Alt+SysRq(PrintScreen) + S Alt+SysRq(PrintScreen) + U Alt+SysRq(PrintScreen) + B
я вот так и делаю.. 🙂
кстати, что это ssh??
а о убунту что ли парвду сказали? 🙁 Я очччччень расстроился когда увидел 🙁 так много ведь кто юзает его. даже с теми, кто тоже играл nexuiz когда общался, то у многих был ubuntu.
Re: Когда виснет графеческая оболочка.
а не скачать что-то нормальное? можно deb-based ведь образы не такие ужи огромные.
99% что дело именно в драйвере видеокарты, попробуй обновиться/откатиться и на всякий случай sudo nvidia-xconfig запусти ручками.
Re: Когда виснет графеческая оболочка.
да можно, конечно, скачать. просто я уже понакуплял программ для убунту так решил вот его и узать. разве он аж такой плохой? 🙁
sudo nvidia-xconfig попробую.
Re: Когда виснет графеческая оболочка.
cat /etc/X11/xorg.conf | grep Driver вот, что показал:
Driver «kbd» Driver «mouse» Driver «wacom» Driver «wacom» Driver «wacom» Driver «nvidia»
Re: Когда виснет графеческая оболочка.
Это хорошо. Значит драйвер стоит и 3d ускорение есть. Тогда попробуй запустить в консоли glxgears и подождать секунд 20. Там будет написано сколько примерно FPS дает твоя видюха.
Re: Когда виснет графеческая оболочка.
$ glxgears 20271 frames in 5.0 seconds = 4054.055 FPS 24285 frames in 5.0 seconds = 4856.948 FPS 32598 frames in 5.0 seconds = 6519.420 FPS 35410 frames in 5.0 seconds = 7081.815 FPS 35463 frames in 5.0 seconds = 7092.437 FPS 34056 frames in 5.1 seconds = 6631.449 FPS 34771 frames in 5.0 seconds = 6954.125 FPS
Re: Когда виснет графеческая оболочка.
Ну, нормально дает.
SSH — это служба удаленного доступа к системе. С другого компьютера можно попытаться залогиниться на твою зависшую машину и попытаться убить Икса или что-то еще сделать.
grep EE /var/log/Xorg.0.log
grep WW /var/log/Xorg.0.log
Re: Когда виснет графеческая оболочка.
>разве он аж такой плохой?
больше слушай лоровских анонимусов и попробуй отрубить в xorg.conf композит: Option «Composite» «0»
Re: Когда виснет графеческая оболочка.
Re: Когда виснет графеческая оболочка.
> grep EE /var/log/Xorg.0.log > > grep WW /var/log/Xorg.0.log
ок. попробую и дам вывод..
> больше слушай лоровских анонимусов и попробуй отрубить в xorg.conf > композит: Option «Composite» «0»
Большое спасибо! Очень надеюсь в то, что Убунту — хороший дистрибутив. 🙂 а когда у меня спрашивала система, какие параметры использовать, «X или GNOME», я выбрал GNOME. я так понял, что так как я выбрал «использовать праметры GNOME», то xorg.conf роли никакой не играет. или я не прав. я не выбрал «X» так как помню я раз уже его выбирал и мне система постоянно ошибку выдавала, с которой я ничего так и не смогу поделать — переустанавливал систему. 🙁
P.S. Читал вот описания дистрибутивов. мне почему-то больше всего нравится Debian-ские дистрибутивы. так что или Ubuntu или Debian. 🙂
> на, посмотри: http://www.debian.org/misc/children-distros.ru.html ну с этого я так понял, что Убунту — классный дистрибутив 🙂
недавно я узнал, что в моем городе есть Линуксоид. (никогда бы не подумал.. город маленький. ). у него я просил какой-то Линукс. он мне посоветовал оставлять УБунту, сказал, что он ему больше всего понравился.
Re: Когда виснет графеческая оболочка.
>недавно я узнал, что в моем городе есть Линуксоид. (никогда бы не подумал.. город маленький. ). у него я просил какой-то Линукс. он мне посоветовал оставлять УБунту, сказал, что он ему больше всего понравился.
это была проверка. для того чтобы стать Ъ-линуксоидом тебе придётся убить его и съесть его моск.
Источник