Під час відкриття вкладки або перезавантаження Chrome заморожує Ubuntu


23

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

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

Я спробував повністю очистити хром і видалити папку налаштувань перед перевстановленням останньої версії, але це не допомогло. Вимкнення всіх розширень не допомогло.

Я запускаю останню стабільну Ubuntu 14. 15 ГБ оперативної пам'яті, 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, тому логіка підказує, що це можна виправити.

Я думаю, це більше пов'язано з тривалістю хрому, а не ubuntu. Якщо я запускаю Ubuntu і запускаю хром відразу, через декілька хвилин він перейде на нову вкладку. Якщо я не запускаю хром після завантаження, а запускаю його лише пізніше, він запуститься нормально, а потім вийде з ладу після його запуску протягом тих же кількох хвилин.

Велике дякую


Ваш графічний драйвер працює в режимі роботи. Яка відеокарта у вас в системі? Якщо Nvidia, видаліть драйвер noveau та встановіть драйвер nvidia.
Ми Борг

Відповіді:


18

Проблема полягає в Google Chrome v44. Ви можете продовжувати працювати, запускаючи chrome без прискорення gpu:

google-chrome --disable-gpu

Або видаливши хром і встановивши версію безпосередньо перед цією:

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

/ gpu не зламав мій браузер (вміст нижче), але / прапори. Невстановлений хром (sudo apt-get remove google-chrome-stable) та спробуючи старішу версію, звітують через деякий час.
Томас Смарт

Дякую, я зараз не можу спробувати це, але краще бути безпечним, ніж вибачте (хоча з використанням -disable-gpu працює! Хоча я зараз його використовую)
Fabio

2
протестував це протягом останніх кількох днів, і, схоже, зробив трюк, більше жодних збоїв. Велике дякую!
Thomas Smart

У мене це відбувається, версія 46.0.2490.86 (64-розрядна). Але я можу отримати доступ до / gpu та / прапорів.
Фальчі

1
трапляється у версії 48.0.2564.116 Ubuntu 14.04 (64-розрядна) Chromium та версії 48.0.2564.116 (64-розрядна) Chrome
Elzo Valugi

6

У мене були ті ж проблеми з ubuntu 14.04 та Chrome. У мене є відеокарта nvidia geforce gtx 650. Проблема, мабуть, полягає у новій драйвері відеокарти Ubuntu. Виправленням для мене було перейти до системних налаштувань -> Програмне забезпечення та оновлення -> Додаткові драйвери та вибрати власний драйвер nvidia (або яку будь-яку картку у вас є) замість nouveau. Ця зміна також вирішила проблему, яку я мав із медіаплеєром youtube (може бути, а може не стосуватися інших медіаплеєрів). Швидкозмінне відеозображення, зокрема, звично оновлюється в розділах з горизонтальними "лініями розломів". Здається, теж пропало.


Здається, це працює добре.
Фальчі

2

Я видалив Chrome, а потім видалив усі мої файли конфігурації, і нічого, у мене виникла та сама проблема. Це працює для мене в Ubuntu 14.04 64 біта

google-chrome --disable-gpu

1

Переконайтеся, що у вас Graphics Feature Statusу веб-переглядачі хороший стан . Для підтвердження перейдіть за цим посиланням:

chrome://gpu/

Ви повинні побачити всі зелені варіанти Hardware accelerated . Якщо ні, перейдіть до

chrome://flags/

1-й рядок - ваш прапор, щоб увімкнути Override software rendering list # ignore-gpu-blacklist .

Перезавантажте веб-переглядач і ще раз перевірте свій Hardware acceleratedстатус.

Також переконайтеся, що у вас достатньо вільної пам'яті під час роботи браузера

$ free

/ gpu показує це: Полотно графіки Особливості статусу: Тільки програмне забезпечення, прискорення обладнання не доступне Спалах: Прискорений апаратний Flash Stage3D: Прискорений апаратний Flash Stage3D Базовий профіль: Апаратне прискорення Композиція: Апаратне прискорення Кілька растрових ниток: Увімкнено розсипання: Тільки програмне забезпечення. Прискорення апаратного забезпечення вимкнене Растеризація потоків: Увімкнено декодування відео: Тільки програмне забезпечення, апаратне прискорення недоступне Кодування відео: Апаратне прискорення WebGL: Прискорене обладнання / прапори виходять з ладу
Thomas Smart

@ThomasSmart дотримуйтесь інструкцій щодо моєї відповіді. --- після, увімкнути прапор Перезапустити перегляд браузера списку програм перегляду програмного забезпечення та перевірте ще раз.
Віталій Куліков

1
не вдалося дотримуватися, оскільки перехід до / прапорів розбив браузер. відповідь вище про встановлення старого хрому вирішив проблему.
Thomas Smart


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.


На жаль Говорити занадто рано. Дотримуйтесь порад людей звільненої версії та відключившись від libdrm 2.40.6, але, я все одно отримую повідомлення про помилку ..... Я змінив свій драйвер відео, щоб дозволити хрому зробити це, і здається, добре ... одне це не ясно, але якщо 2.4.56 не повинно мати цю помилку. Мені сказали перейти з 2.40.6 - але це не обов'язково означає, що ми не нещасливі і 2.4.56 ~ 1 не страждаємо від тієї ж проблеми.
Брайан О'Доногью,

0

Я бачив це деякий час назад на моєму абсолютно нон-Ubuntu спливав кров'ю краю все , системи autobuilt LFS (я являюсь збоченець, без життя, я визнаю це). Cue багато кричить у журналі 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

0

Для мене цю проблему вирішили, очистивши з хронізованого менеджера паролів усі паролі, які були дублікатами, термін дії, термін дії перебільшений, довгий, невикористаний тощо. Здається, що вибір дуже складних паролів, як правило, руйнує або заморожує всю операційну систему, і це відбувається і в Windows OS. Ще одна річ, яку я зробив, я встановив свою свобідність до 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

0

Я, як правило, люблю використовувати хром, але це єдине програмне забезпечення на моєму Ubuntu, яке гарантовано заморозить всю ОС, якщо дано достатньо часу на роботу. І в деяких випадках я буквально нічого не можу з цим зробити, крім холодного перезавантаження. Якщо у мене вже був відкритий інший TTY ( Alt+ Ctrl+ Fn), я можу або не зможу переключитися на нього, щоб видати killall chrome, що виправить ОС миттєво. Те саме, якщо у мене вже було очікування з'єднання SSH. Іноді курсор миші переміщатиметься по екрану, але абсолютно нічого іншого не реагуватиме. Іноді навіть не курсор миші.

У будь-якому випадку я експериментально з’ясував, що оперативна пам’ять закінчується хромом, який просто використовується; Деякі жахливі витоки пам'яті. Тож те, що я зробив, щоб уникнути того, щоб моя ОС повністю замерзла, до порятунку, це дещо "Зроби сам". Я створив простий скрипт bash і встановив під crontab мого користувача. Я запускаю це щохвилини. Він перевіряє вільну кількість оперативної пам’яті, і якщо вона виходить за встановлений ліміт (я використовую 200 МБ), то видає killall chrome3 рази поспіль (про всяк випадок). Після цього у вас з’явився хром, який вийшов з екрана, але з'явиться діалогове вікно, яке розповість про те, що сталося, скільки пам’яті у вас залишилось і скільки у вас зараз після відновлення хрому. Сценарій такий:

#!/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

Тому коли я досягаю критичного рівня моєї оперативної пам’яті, мій хром вбивається, і я бачу це: введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.