Chrome зависает Ubuntu при открытии вкладки или перезапуске

23

Это только начало происходить вчера. Я сознательно ничего не менял, хотя в Ubuntu включено автообновление.

Я могу запустить Chrome нормально, он будет работать некоторое время, но затем я открою вкладку, и она замерзнет все, кроме мыши, которую я все еще могу перемещать. Я ничего не могу сделать (включая переключение на ctrl-alt-fX), поэтому единственный вариант - это REISUB (или полная перезагрузка). Перезапуск Chrome через некоторое время обычно имеет тот же эффект, что и открытие вкладки.

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

У меня установлена ​​последняя стабильная версия Ubuntu 14. 15 ГБ RAM, Intel i7

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

Есть ли журнал, в котором я могу найти информацию о сбое? Я проверил dmesg, но это ничего не значит для меня:

dmesg | grep chrome

[  132.889813] nouveau E[chrome[2606]] multiple instances of buffer 125 on validation list
[  132.889818] nouveau E[chrome[2606]] validate_init
[  132.889819] nouveau E[chrome[2606]] validate: -22
[  422.162086] nouveau E[chrome[2606]] multiple instances of buffer 121 on validation list
[  422.162092] nouveau E[chrome[2606]] validate_init
[  422.162094] nouveau E[chrome[2606]] validate: -22
[  422.178322] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.201707] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.202702] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.220245] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.236486] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.269815] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.302031] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.334962] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.336436] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.351666] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.368438] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]

Я не проверял хром, я читал, что подобное происходит в этом. Другие темы, которые я прочитал, предлагают перейти на Firefox или хром, но это не решает проблему. Мне нужен chrome по многим причинам работы, и так как он отлично работает дома на той же версии Ubuntu, так что логика подсказывает, что это поправимо.

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

Большое спасибо

Томас Смарт
источник
Ваш графический драйвер работает. Какая видеокарта у вас в системе? Если Nvidia, удалите драйвер noveau и установите драйвер nvidia.
Мы Борг

Ответы:

18

Проблема с Google Chrome v44. Вы можете продолжать работать, запустив Chrome без ускорения GPU:

google-chrome --disable-gpu

Или удалив Chrome и установив версию прямо перед ней:

sudo apt-get remove google-chrome-stable
wget http://mirror.pcbeta.com/google/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_43.0.2357.81-1_amd64.deb
sudo dpkg -i google-chrome-stable_43.0.2357.81-1_amd64.deb

Это позволит вам использовать Chrome, пока не выйдет исправление.

Примечание: вы не можете отключить ускорение gpu в настройках URL-адреса, так как это немедленно остановит вашу систему:

# DON'T go to (this might crash the system):
chrome://gpu
# or (this will definitely crash the system)
chrome://flags
Fabio
источник
/ gpu не вывел мой браузер (содержимое ниже), но / flags сделал. Неустановленный chrome (sudo apt-get remove google-chrome-stable) и попытка установить более старую версию вернутся через некоторое время.
Томас Смарт,
Спасибо, я не могу попробовать это сейчас, но лучше быть в безопасности, чем потом сожалеть (хотя - с помощью --disable-gpu работает! Я использую это прямо сейчас)
Фабио
2
проверил это в течение последних нескольких дней, и, похоже, все получилось, больше никаких сбоев. Большое спасибо!
Томас Смарт
Это происходит со мной, версия 46.0.2490.86 (64-разрядная версия). Но я могу получить доступ к / gpu и / flags.
Falci
1
происходит в версии 48.0.2564.116 в Ubuntu 14.04 (64-разрядная версия) Chromium и в версии 48.0.2564.116 (64-разрядная версия) Chrome
Эльзо Валуги
6

У меня была такая же проблема с Ubuntu 14.04 и Chrome. У меня есть видеокарта NVIDIA GeForce GTX 650. Похоже, что проблема действительно в драйвере видеокарты Ubuntu nouveau. Для меня исправлением было перейти в Настройки системы -> Программное обеспечение и обновления -> Дополнительные драйверы и выбрать проприетарный драйвер nvidia (или какую карту у вас когда-либо) вместо nouveau. Это изменение также, похоже, устранило проблему, возникшую у меня с медиаплеером YouTube (может относиться или не относиться к другим медиапроигрывателям). Быстро движущееся видеоизображение, в частности, используется для обновления в разделах с горизонтальными «линиями разломов». Кажется, тоже нет.

hubbabubba
источник
Вроде нормально работает.
Falci
2

Я удалил Chrome, а затем удалил все мои файлы конфигурации, и ничего, получил ту же проблему. Это работает для меня в Ubuntu 14.04 64 бит

google-chrome --disable-gpu
Amekare
источник
1

Убедитесь, что у вас хороший статус Graphics Feature Statusв браузере. Перейдите по этой ссылке, чтобы проверить:

chrome://gpu/

Вы должны увидеть все зеленые варианты Hardware accelerated. Если нет, перейдите к

chrome://flags/

1-я строка - ваш флаг для включения Override software rendering list # ignore-gpu-blacklist .

Перезапустите браузер и проверьте еще раз свой Hardware acceleratedстатус.

Также убедитесь, что у вас достаточно свободной памяти во время работы браузера

$ free
Виталий Куликов
источник
/ gpu показывает это: Графика Состояние состояния Холст: только программное обеспечение, аппаратное ускорение недоступно Flash: аппаратное ускорение Flash Stage3D: аппаратное ускорение Flash Stage3D Базовый профиль: аппаратное ускорение Компоновка: аппаратное ускорение Несколько растровых потоков: включено Растеризация: только программное обеспечение. Аппаратное ускорение отключено. Потоковая растеризация: включена. Декодирование видео: только программное обеспечение, аппаратное ускорение недоступно. Кодирование видео: аппаратное ускорение. WebGL: аппаратное ускорение / сигнализирует сбой системы
Томас Смарт
@ThomasSmart следуйте инструкциям на мой ответ. --- после, установите флажок Переопределить список программного рендеринга, перезапустите браузер и проверьте снова
Виталий Куликов
1
не мог следовать, потому что переход к / flags разбил браузер. Ответ выше об установке старого хрома решил проблему.
Томас Смарт
1

Я решил это, заменив видеодрайвер nouveau на драйверы nvidia, как описано здесь .

Не google-chrome --disable-gpuтребуется

Александр Цайтлер
источник
1

Я опубликовал патч для LKML, чтобы обойти эту ошибку, и мне сказали, что проблема была идентифицирована как ошибка libdrm (не Chrome).

https://bugs.freedesktop.org/show_bug.cgi?id=89842#c19

Эта проблема связана libdrm 2.40.6только с и по ссылке выше есть другие приложения, не только Chrome, который может столкнуться с той же самой ошибкой с nouveau.

Возможно понизить до предыдущей версии libdrm.

sudo apt-get install libdrm2=2.4.56-1~ubuntu2

Если вы хотите «заблокировать», т.е. остановить автоматическое обновление системы до 2.6.40, снова выполните

sudo echo "package libdrm2" | sudo dpkg –set-selections

Я успешно опустил версию до 2.4.56 и могу убедиться, что Chrome работает как положено, с включенным ускорением GPU.

Брайан О'Донохью
источник
К сожалению. Говорил слишком рано. Следовал совету людей из freedesktop и переключился с libdrm 2.40.6, но я все еще получаю сообщение об ошибке ..... Я изменил свой видеодрайвер, чтобы позволить chrome это делать, и это кажется хорошим ... одна вещь это не ясно, хотя, если 2.4.56 не должно иметь эту ошибку. Мне сказали, чтобы перейти от 2.40.6 - но это не обязательно означает, что мы не несчастливы, и 2.4.56 ~ 1 не страдает от той же проблемы.
Брайан О'Донохью
0

Я видел это некоторое время назад на моем совершенно нон-Ubuntu истекающего кровью края все , системы autobuilt LFS (я являюсь извращенец, без жизни, я признаю это). В журнале dmesg есть много криков о поврежденных BOS и т. Д.

Для меня еще одним решением, которое позволило мне сохранить аппаратно-ускоренный рендеринг в большинстве ситуаций, был экспорт LIBGL_DRI3_DISABLE=1в среду перед запуском Chromium. Похоже, DRI3 еще не совсем готов к прайм-тайм ...

шухер
источник
0

Удалить и установить предыдущую версию помогло с помощью следующих команд. Я заменил i386 вместо amd64 и установка прошла нормально. Спасибо за помощь.

sudo apt-get remove google-chrome-stable
wget http://mirror.pcbeta.com/google/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_43.0.2357.81-1_amd64.deb
sudo dpkg -i google-chrome-stable_43.0.2357.81-1_amd64.deb
user472300
источник
0

Для меня проблема была решена путем очистки из диспетчера паролей Chrome всех паролей, которые были дубликатами, истекли, долго преувеличивали, не использовались и так далее. Кажется, что выбор очень сложных паролей, как правило, приводит к сбою или зависанию всей операционной системы, что также происходит в ОС Windows. Еще одна вещь, которую я сделал, я установил свой swappiness до 0.

Михай Алекс Ионеску
источник
0

Я столкнулся с той же проблемой на моем Ubuntu 14.10, решение состоит в том, чтобы просто убивать Chrome каждый раз, когда он съедает процессор, вот мой сценарий, чтобы сделать это, он работал на моем случае.

#!/bin/sh

#ps aux  | awk 'BEGIN { sum = 0 }  { sum += $3 }; END { print sum }'

# DON VI PHAN TRAM
MAX_ALLOWED_CPULOAD=50
MAX_ALLOWED_MEMLOAD=50
core_num=$(nproc)
MAX_ALLOWED_CPULOAD=$(expr $MAX_ALLOWED_CPULOAD \* $core_num)

counter=0
continue_high_cpuload_count=0
max_continue_alowed=10

print_cpu_load_with_pid(){
    cpuload=$(ps aux  | awk 'BEGIN { sum = 0 }  { sum += $3 }; END { print sum }')
    cpuloadpercent=$(echo "100 * $cpuload / $MAX_ALLOWED_CPULOAD" | bc)
    echo "checked at $counter times, cpuload = $cpuloadpercent %"
    counter=$((counter+1))
    #$(echo 12.45 10.35 | awk '{if ($1 < $2) print $1; else print $2}')
    decide=$(echo $cpuload $MAX_ALLOWED_CPULOAD | awk '{if ($1 > $2) print "true"; else print "false"}')
    if [ "true" = "$decide" ] ; then
        continue_high_cpuload_count=$((continue_high_cpuload_count+1))  
        echo "High cpuload detected, continue_counter = $continue_high_cpuload_count"
    elif [$continue_high_cpuload_count -gt 0 ]; then
        continue_high_cpuload_count=0
        echo "No longer detect hight cpu, reseting continue_counter..."
    fi

    if [ "$continue_high_cpuload_count" = "$max_continue_alowed"  ] ; then
        echo "Killing chrome..."
        kill -9 `ps -aux|grep chrome|awk '{print$2}'`
    fi
}

while [ : ];do
    print_cpu_load_with_pid
    sleep 2
done
derHugo
источник
0

Обычно я люблю использовать Chrome, но это единственное программное обеспечение в моей Ubuntu, которое гарантированно замораживает всю ОС, если ему достаточно времени для работы. И в некоторых случаях я буквально не могу ничего с этим поделать, кроме холодной перезагрузки. Если у меня уже был открыт другой TTY ( Alt+ Ctrl+ Fn), то я могу или не смогу переключиться на него, чтобы killall chromeрешить проблему , что немедленно исправит ОС. То же самое, если у меня уже было ожидающее соединение SSH. Иногда курсор мыши перемещается по экрану, но больше ничего не будет реагировать. Иногда даже не курсор мыши.

Во всяком случае, я обнаружил экспериментально, что ОЗУ заканчивается, когда хром только используется; Некоторые ужасные утечки памяти. Так что то, что я сделал, чтобы избежать полной заморозки моей ОС, было чем-то вроде DIY. Я создал простой скрипт bash и установил его под crontab моего пользователя. Я запускаю это каждую минуту. Он проверяет объем свободной оперативной памяти, и если он выходит за пределы моего определенного предела (я использую 200 МБ), он выдает killall chrome, 3 раза подряд (на всякий случай). После этого с экрана уходит Chrome, но появляется диалоговое окно с сообщением о том, что произошло, сколько памяти у вас осталось и сколько у вас осталось после восстановления из Chrome. Сценарий выглядит следующим образом:

#!/bin/sh
#SETTINGS:
MIN_RAM_BEFORE_KILLING_CHROME_MB=200
#DATA COLLECTION:
FREE_RAM=$(free -mo | tr -s ' ' | cut -d ' ' -f 4 | awk '$0 == "free" {i=1;next};i && i++ <= 1')
echo "Free RAM: $FREE_RAM"
#ACTION:
if [ $FREE_RAM -lt $MIN_RAM_BEFORE_KILLING_CHROME_MB ]; then
    echo "time to kill chrome...";
    killall chrome &
    sleep 1
    killall chrome &
    sleep 1
    killall chrome &
    FREE_RAM2=$(free -mo | tr -s ' ' | cut -d ' ' -f 4 | awk '$0 == "free" {i=1;next};i && i++ <= 1')
    DISPLAY=:0 nohup zenity --info --text="Chrome was killed, because your RAM had only $FREE_RAM MB free.\nNow you have $FREE_RAM2 MB free."  2>/dev/null &
else
    echo "Not yet. Will kill chrome when RAM goes under $MIN_RAM_BEFORE_KILLING_CHROME_MB.";    
fi;
#INSTALLATION:
# crontab -u <username> -e
# then add this script

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

Крис Джейс
источник