LINUX.ORG.RU

Неконтролируемое рандомное зависание системы

 ,


0

1

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

У меня есть большая предыстория, как я к этому пришел, но я опущу ее. Суть в том, что на винде я эту проблему решил с помощью аимпа, поставил 1 трек на репит и проблема решена, нигде такого решения не было описано в инете, сам поэксперементировал и получилось. В винде в журнале событий эта проблема носит название kernel power 41 63. Какое-то время назад начал изучение линукса и проблема снова появилась, но мое решение не сработало здесь, я пробовал разные плееры, остановился на vlc, вроде зависаний не было пару недель, потом появились снова и вот я ищу решение своей проблемы. Чего-то подобного журналу событий в убунту не нашел, попробовал снять дамп ядра с помощью kdump - безрезультатно, файл не появляется, я в тупике и прошу у вас совета или направления, куда копать дальше.

Вот скрин с характериситками http://s020.radikal.ru/i703/1604/c2/6e13028f81b7.png



Последнее исправление: Dairant (всего исправлений: 3)

Если в венде та же проблема, то железо сломалось, неси в сервис.

anonymous
()

Т.е. у тебя какая-то явная аппаратная проблема, что процессор зависает при переходе в режим пониженного энергопотребления?

Попробуй установить governor в performance.

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

Почему-то сбиваются настройки. Вот что у меня в файле cpufrequtils

http://s018.radikal.ru/i502/1604/80/5da4d288b979.png

А вот что показывает cpufreq-info

http://s14.radikal.ru/i187/1604/61/c080e675d6df.png

В файле /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

2 параметра : «performance powersave»

Установил апплет sudo apt-get install indicator-cpufreq

Запустил через терминал indicator-cpufreq и поменял powersave на performance

Потом проверил через cpufreq-info и вот что

http://s020.radikal.ru/i701/1604/12/7fa4ee2aa521.png

Т.е. режим поменялся, но пределы частот остались теми же, частота падает до тех же 500 МГц, что я сделал не так?

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

Почему-то сбиваются настройки. Вот что у меня в файле cpufrequtils

http://s018.radikal.ru/i502/1604/80/5da4d288b979.png

Наверно не посмотрели на мой скрин внимательно, сделайте это пожалуйста.

Апплет тоже не работает, т.е. задаешь performance, потому ребут, потом смотришь, вроде остался performance, через минут апплет сам переключился в powersave, что делать?

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

Вот что говорит

http://i062.radikal.ru/1604/4f/1202593a07f0.png

Только что снова словил зависание, но суть в том, что на апплете частота резко поднялась с маленькой (500 МГц) до большой (почти весь индикатор заполнился) в момент зависания, я в этом момент новую вкладку в браузере открывал.

У меня такой вопрос: есть ли какой-то пакет, утилита, которая может записывать частоты ядер в какой-то файл, может мне наоборот нужно сделать меньше пиковую частоту?

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

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

Снова словил зависание, но на этот раз на апплете были минимальные частоты, что разрушает мою предыдущую теорию, но все равно мне нужна утилита, о которой я писал в предыдущий раз:

У меня такой вопрос: есть ли какой-то пакет, утилита, которая может записывать частоты ядер в какой-то файл

Dairant
() автор топика
Ответ на: комментарий от Dairant
while true; do grep -E '^proc|MHz' /proc/cpuinfo | sed -r 's/.*: //' | sed ':a; N; $!ba; s/\n/ /g'; sleep 0.1; done

В файл перенаправить сам сможешь? Добавь к строке > cpufreq.log.

sleep 0.1 — интервал записи чтения /proc/cpuinfo.

Ты, кстати, попробуй биос сбросить. У тебя какой камень? И что сообщает lscpu?

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

Камень:

http://f-picture.net/lfp/s020.radikal.ru/i703/1604/c2/6e13028f81b7.png/htm

Ответ от lscpu:

http://s018.radikal.ru/i522/1604/16/1a7e53877a7b.png

Насчет биоса не уверен, вроде не сбрасывал. Если я это сделаю, то какие будут последствия, ведь по идее граба не будет, я правильно понимаю?

И за скрипт спасибо, но если не сложно, то можешь подсказать, как добавить время + дату и поставить ограничение, чтобы файл не разрастался, чтобы хранились значения за последнюю минуту?

Dairant
() автор топика

Обновляем биос, потом, если не поможет, меняем RAM. Если вшита, то сочувствую.

anonymous
()
Ответ на: комментарий от Dairant

Этот вариант красивше:

while true; do egrep 'proc|MHz' /proc/cpuinfo | sed -r 's/pr/\t/; s/(\t)?.*: /\1/' | tr '\n' ' '; echo "\t[$(date +'%H:%M:%S.%N')]"; sleep 0.1; done

какие будут последствия

В теории ничего не должно случиться. Сбросятся настройки частот CPU и таймингов памяти на попроще. Обычно после сброса устанавливаются failsafe настройки.

Ответ от lscpu

Странный у тебя вывод. У меня показывает CPU min/max MHz. Может от процессора зависит? И Model name у тебя не показывает. И кеша у тебя вроде должно быть 2 МБ. Не?

Можешь почитать вот этот документ. В нём можно найти возможные причины зависаний проца. По слову 'hang', например. Но это всё очень сложно и для спецов.

Попробуй на лайв-дистре с более свежим ядром. Возможно, что там все эти ошибки учтены. У тебя ядро 3.19. Уже больше года прошло. Оно даже древнее, чем тот документ. И оно больше не поддерживается, судя по статье в Вики.

Посмотри ещё на обновления прошивки биоса, если они есть, возможно там что-нибудь поправили.

anonymous
()
Ответ на: комментарий от Dairant

поставить ограничение, чтобы файл не разрастался

Это я не знаю как сделать. Но это должно быть не сложно :) Поищу. Если найду, то напишу.

anonymous
()
Ответ на: комментарий от Dairant

Вот так получилось. Проще ничего не нашёл. В принципе, то же самое, только обрезается ещё через tail. Если твой комп зависнет во время tail-cp-rm, то свежие данные ищи в файле cpufreq.log.tmp.

#!/usr/bin/bash

output_file='cpufreq.log'
sleep_time=0.1
min_lines=10000  # ~1000 seconds (~16m:40s) if sleep_time == 0.1
                 # 'min_lines' must be > 100

echo "Start logging CPU frequency to $output_file..."

while true; do
    for j in {1..$[min_lines/100]}; do
        for i in {1..100}; do 
            egrep 'proc|MHz' /proc/cpuinfo | \
            sed -r 's/pr/\t/; s/(\t)?.*: /\1/' | \
            tr '\n' ' '
            
            echo -e "\t\t$(date +'%H:%M:%S.%N')"
            
            sleep $sleep_time
        done >> $output_file
    
        # truncate every 100 lines
        tail -$min_lines $output_file > $output_file.tmp
        cp $output_file.tmp $output_file
        rm $output_file.tmp
    done
done

И тебе ещё правильно советуют проверить память. Мемтест давно гонял?

anonymous
()

Чтото мне кажется что проблема не в CPU, больше похоже что какаято переферия (сокрее всего например HDD) из слипа не выходит.

Тоесть при простое HDD засыпает, и уже не просыпается ...

Либо куллера при идле остонавливаются и уже больше не запускаются, как результат перегрев и зависание ...

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

Биос последний, оперативку менять не вариант

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

Спасибо за скрипт Насчет мемтеста - давно проверял и тогда ошибок не было.

greenman дал ссылку выше и там вроде как есть решение, но я не досмотрел т.к. фризы участились и я вырубил ноут на время, там такая же проблема как у меня, только версия ядра повыше.

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

Почитай выше про говернор на performance, я уже пробовал, а насчет цикла с математикой, я думаю, что скрипт, который мне скинул аноним, вполне подойдет на эту роль.

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

И кеша у тебя вроде должно быть 2 МБ. Не?

Должно быть 2, но что я могу поделать, как есть так есть, с этим проблем нет.

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

greenman скинул ссылку Baytrail full X11 freeze

там проблема с ядром 4 с чем-то, так что это не вариант, я еще не дочитал что там, может все решили

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

Выключил виртуализацию, через минут 10 словил фриз

Dairant
() автор топика

Запустил скрипт, предотсавленный анонимом, продеражлся без фризов минут 20, потом решил посмотреть видео на ютубе и ну вы знаете

Ребут, посмотрел лог, а там вот что

http://i069.radikal.ru/1604/89/8b890f7a5f52.png

за долю секунды до фриза, 2 ядра были на пике, 2 в норме, не знаю, как это интерпритировать

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

Да и вопрос с говернор остался открытым: я выставил макс и мин частоты, но в cpufreq-info отображаются дефолтные, может кто знает, что нужно изменить, чтобы заработало?

http://f-picture.net/lfp/s018.radikal.ru/i502/1604/80/5da4d288b979.png/htm

http://f-picture.net/lfp/s14.radikal.ru/i187/1604/61/c080e675d6df.png/htm

Dairant
() автор топика

У меня стояло четыре планки памяти, две по 2Гб и две по 4Гб, всё это в двух-канальном режиме. Около 2 лет проблем не было вообще, потом в Windows начал вываливаться синий экран, а в Linux зависало всё намертво. Потом смотрю одна планка отличается производителем чипов, хотя модель та же. Решил попробовать вынуть две по 2Гб и оставить по 4Гб в двух-канальном режиме. Неделю так проработал и всё отлично, сегодня утром заменил ту одну планку (не помню название) на планку с микроновскими чипами, остальные планки с чипами kingston. Целый день мучаю систему, пока всё нормально. Может и у тебя проблема с RAM, я свою много раз проверял и ошибок не было, а оно вон как.

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

за долю секунды до фриза, 2 ядра были на пике, 2 в норме, не знаю, как это интерпритировать

Скорее всего, что процессор тут всё-таки не причём.

Одно только настораживает — почему аимп решает проблему…

А у тебя swap есть?

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

посмотрел лог, а там вот что

Да вроде никаких аномалий. Логично, что проц будет пахать при просмотре видео. У меня, по крайней мере, в лисе так.

А с температурой у тебя что? Может реально банальный перегрев?

anonymous
()
Ответ на: комментарий от Aceler

Когда ставил убунту swap area сделал половину от оперативы, т.е. 2 гига

А насчет аимпа - почему решает, наверно из-за того, что не дает процессору простаивать, но я могу сказать точно, что это решение на винде работает. Если я забываю включать аимп, то ловлю фриз, делаю ребут, затем включаю аимп и никаких фризов. Обычно, если словил фриз, затем после ребута восстанавливаешь закладки в браузере, то фриз словишь в ближайщие 5-10 минут, но с аимпом ничего такого не происходит, как-то так.

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

Когда писал суть свое проблемы, я написал

У меня есть большая предыстория, как я к этому пришел, но я опущу ее.

Но похоже, что лучше ее все таки рассказать, надеюсь пока буду писать, не словлю фриз.

Первые пару недель после покупки ноутбука были без проишествий, но однажды я кинул его в сон и он из него не вышел, попробовал включить на подзарядку, индикатор не работал, думаю все, попал. Оказалось, что это распространенная проблема именно этой серии и все, что нужно сделать, это снять клему аккумулятора и вставить ее снова, но тут я напортачил: точно уже не помню, но вроде как снял клему, потом подключил ноут к розетке, а затем поставил клему назад и получил искру. Может было чуть по-другому, но в конце я получил исрку, которая частично вывела из строя, не знаю, как правильно называется, разъем для шлейфа от клавиатуры и тачпада. Этот разъем находится очень близко к клеме и получилось так, что был задет какой-то микроконтроллер, отвечающий за интерпретацию вводимых символов, о чем я узнал конечно не сразу. После того, как получил искру, я увидел работающий индикатор зарядки и спокойно подключил шлейф назад и включил ноут, но тут меня ждал сюрприз: когда я пытался нажимать на кнопки на клавиатуре, я получал совершенно не то, что ожидал: по несколько букв за одну, вместо пробела тоже что-то не то и т.д. Тачпад работал правильно, без проблем. Сначала я включал виртуальную клавиатуру, было сложно, но как-то справлялся, когда приходил в универ, через usb подключал внешнюю клавиатуру от компов в аудиториях. Через пару дней терпени лопнуло, и я пошел в сервисный центр, где мне собственно и рассказли про контроллер. Сказали, что его замена будет дорогой и лучше сразу поменять материнку, что и было сделано. Также поменяли клавиатуру, на всякий случай. Все пришло в норму, клавиатура снова работала как надо, зарядка работала как надо. Еще стоит заметить, что в попытках самостоятельно починить клавиатуру, переставлял разные версии винды, ничего не помогало, я оставил 8.1, но она подлагивала немного, иконки на стартовом экране подгружались медленно, окна тоже открывались медленно. Вот с такой виндой я и отнес в сервис, думал какая разница, все равно диск вайпнут, но как оказалось, все осталось на месте и пришлось искать стабильный образ 8.1, на котором до сих пор нахожусь. Через какое-то время и начали появлятся фризы, я долго искал решение, думал переустановить винду, но где-то читал, что это не помогает, пробовал разные решения и в итоге пришел у успеху с аимпом. Ну а дальше интерес к линуксу и снова появление проблемы.

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

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

Нет, точно не перегрев, температура всегда в пределах 50-60 градусов, обычно во время фриза все спокойно, кулер еле крутится. Кулер работает как надо, если вдруг будет теория, что он не охлаждает. Во время фриза ноут никогда не был горячим, я бы заметил.

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

Нет, впервые вижу такое. Можно попробовать в следующий фриз. Судя по вики, нужно держать зажатыми Alt+SysRq и вводить по буквам слово REISUB, я правильно понял?

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

Да, только буквы набирай с интервалом пару секунд.

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

Чёрт, уже не в первый раз пишу... Если зависание при рабочей операционной системе, без BSoD и прочей фигни, то проверь винт, бро. Походу, ему капец.
Можешь мне вполне доверять - я в компах ковыряюсь с 98 года и могу по писку динамика определить, что вылетело.

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

попробуй сделать chkdsk c: /f /r
времени это займёт конечно вагон, но результат, думаю, будет.

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

Когда ставил убунту swap area сделал половину от оперативы, т.е. 2 гига

А попробуй swap отключить, sudo swapoff -a. И запустить какой-нибудь mp3-плеер в фоне. Это нагрузит оперативку и жёсткий диск одновременно.

Если словишь зависание, то будем копать ещё.

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

Попробую чуть позже, сейчас жду эффекта от совета cadaber, насчет chkdsk c: /f /r . Не так уж кстати и долго делал, примерно минут 40-50.

Dairant
() автор топика

скорее всего, в режиме энергосбережения напряжение слишком низкое. У меня подобное на видяхе. Лезь в прошивку матери и смотри чего там можно подкрутить по напряжениям на ЦП.

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

Еще unixnik я попробовал Alt+SysRq+REISUB, ничего не произошло, ноль реакции

Dairant
() автор топика

Я вот прям сильно переживаю.

Попробуй выводить все сообщения ядра в файл: cat /dev/kmsg > kernel_messages.log, и после фриза его посмотреть. Можешь на pastebin.com, например, выложить и нам показать.

Memtest-ом ещё не проверял? А то может я зря переживаю.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.