Chrome está congelando Ubuntu al abrir una pestaña o reiniciar


23

Esto comenzó a suceder ayer. No cambié nada a sabiendas, aunque tengo habilitada la actualización automática en Ubuntu.

Puedo iniciar Chrome bien, funcionará por un tiempo, pero luego abro una pestaña y se congelará todo excepto el mouse que todavía puedo mover. No puedo hacer nada (incluido el cambio a ctrl-alt-fX), por lo que la única opción es REISUB (o restablecimiento completo). Reiniciar Chrome después de un tiempo generalmente tiene el mismo efecto que abrir una pestaña.

Intenté purgar completamente Chrome y eliminar la carpeta de configuración antes de reinstalar la última versión, pero no me ayudó. Deshabilitar todas las extensiones no ayudó.

Estoy ejecutando la última versión estable de Ubuntu 14. 15 gb de ram, Intel i7

Otra rareza son las pequeñas ventanas de notificación que recibo de Chrome, que generalmente muestran información sobre un nuevo correo electrónico o cualquiera de las notificaciones de complementos, ahora es solo un bloque negro, sin contenido.

¿Hay algún registro en el que pueda buscar para encontrar algo sobre el bloqueo? Revisé dmesg pero no significa mucho para mí:

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]]

No he probado el cromo, he leído que ocurre algo similar en ese. Otros temas que he leído sugieren cambiar a Firefox o cromo, pero eso no resuelve el problema. Necesito Chrome por numerosas razones de trabajo y, como funciona bien en casa en la misma versión de Ubuntu, la lógica sugeriría que es reparable.

Creo que está más relacionado con la duración que Chrome ha estado ejecutando y no con ubuntu. Si inicio Ubuntu y ejecuto Chrome de inmediato, se bloqueará en una nueva pestaña después de unos minutos. Si no inicio Chrome después de arrancar y solo lo inicio más tarde, se iniciará correctamente y luego se bloqueará después de que se haya ejecutado durante los mismos minutos.

Muchas gracias


Su controlador de gráficos está actuando mal. ¿Qué tarjeta gráfica tienes en tu sistema? Si es Nvidia, elimine el controlador noveau e instale el controlador nvidia.
Somos Borg

Respuestas:


18

El problema es con Google Chrome v44. Puede seguir trabajando iniciando Chrome sin aceleración de GPU:

google-chrome --disable-gpu

O quitando Chrome e instalando la versión justo antes de esa:

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

Esto te permitirá usar Chrome hasta que salga una solución.

Nota: no puede deshabilitar la aceleración de gpu desde la URL de configuración, ya que congelará su sistema de inmediato:

# DON'T go to (this might crash the system):
chrome://gpu
# or (this will definitely crash the system)
chrome://flags

/ gpu no bloqueó mi navegador (contenido a continuación) pero / flags sí. Chrome desinstalado (sudo apt-get remove google-chrome-stable) y probando la versión anterior, informará de nuevo en un tiempo.
Thomas Smart

Gracias, no puedo probarlo ahora, pero es mejor prevenir que curar (¡aunque el uso de --disable-gpu funciona! Lo estoy usando ahora)
Fabio

2
Probé esto durante los últimos días y parece haber hecho el truco, ya no se bloquea. ¡Muchas gracias!
Thomas Smart

Me está sucediendo, Versión 46.0.2490.86 (64 bits). Pero puedo acceder a / gpu y / flags.
Falci

1
sucede en la versión 48.0.2564.116 Ubuntu 14.04 (64 bits) Chromium y la versión 48.0.2564.116 (64 bits) Chrome
Elzo Valugi

6

He tenido el mismo problema con ubuntu 14.04 y Chrome. Tengo la tarjeta gráfica nvidia geforce gtx 650. El problema parece ser el nuevo controlador de la tarjeta gráfica de Ubuntu. La solución para mí fue ir a Configuración del sistema -> Software y actualizaciones -> Controladores adicionales y elegir un controlador nvidia patentado (o cualquier tarjeta que tenga) en lugar de nouveau. Este cambio también parece haber solucionado un problema que tuve con el reproductor multimedia de youtube (puede o no aplicarse a otros reproductores multimedia). La imagen de video en movimiento rápido en particular solía parecer que se actualizaba en secciones con apariencias horizontales. Parece que también se ha ido.


Parece que funciona bien.
Falci

2

Desinstalo Chrome y luego eliminé todos mis archivos de configuración, y nada, tuve el mismo problema. Esto funciona para mí en Ubuntu 14.04 64 bits

google-chrome --disable-gpu

1

Asegúrese de tener un buen estado Graphics Feature Statusen el navegador. Sigue este enlace para verificar:

chrome://gpu/

Deberías ver todas las opciones verdes Hardware accelerated. Si no, ve a

chrome://flags/

La primera línea es su bandera para habilitar Override software rendering list # ignore-gpu-blacklist .

Reinicie su navegador y verifique nuevamente su Hardware acceleratedestado.

Además, asegúrese de tener suficiente memoria libre durante la ejecución del navegador

$ free

/ gpu muestra esto: Estado de la función de gráficos Canvas: solo software, aceleración de hardware no disponible Flash: aceleración de hardware Flash Stage3D: aceleración de hardware Flash Stage3D Perfil de línea de base: composición acelerada de hardware: aceleración de hardware Múltiples hilos de ráster: Rasterización habilitada: solo software. Aceleración de hardware deshabilitada Rasterización de subprocesos: habilitada Decodificación de video: solo software, aceleración de hardware no disponible Codificación de video: acelerado por hardware WebGL: aceleración de hardware / banderas bloquea el sistema
Thomas Smart

@ThomasSmart sigue las instrucciones de mi respuesta. --- después, Habilitar marca Anular lista de representación de software reiniciar navegador y verificar nuevamente.
Vitaliy Kulikov

1
no se pudo seguir porque ir a / flags bloqueó el navegador. La respuesta anterior sobre la instalación de un Chrome antiguo resolvió el problema.
Thomas Smart

1

Lo resolví reemplazando el controlador de video nouveau con los controladores nvidia como se describe aquí .

No se google-chrome --disable-gpurequiere


1

Publiqué un parche en LKML para solucionar este error y me dijeron que el problema había sido identificado como un error libdrm (no Chrome).

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

Este problema solo está relacionado libdrm 2.40.6y, desde el enlace anterior, hay otras aplicaciones que no, solo Chrome, pueden encontrar este mismo error con nouveau.

Es posible degradar a la versión anterior de libdrm.

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

Si desea 'bloquear', es decir, detener la actualización automática de su sistema a 2.6.40, vuelva a hacerlo

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

He bajado con éxito a 2.4.56 y puedo verificar que Chrome funcione como se esperaba, con la aceleración de gpu activada.


Ups Habló demasiado pronto. Seguí el consejo de la gente de freedesktop y cambié de libdrm 2.40.6 pero, aún recibo el mensaje de error ..... He modificado mi controlador de video para permitir que Chrome haga eso y parece bueno ... una cosa sin embargo, eso no está claro si 2.4.56 no debería tener este error. Me dijeron que cambiara de 2.40.6, pero eso no necesariamente significa que no tenemos mala suerte y 2.4.56 ~ 1 no sufre el mismo problema.
Bryan O'Donoghue

0

Vi esto hace un tiempo en mi sistema LFS autoconstruido completamente distinto a Ubuntu ( soy un bicho raro sin vida, lo admito). Señala muchos gritos en el registro de dmesg sobre bos corruptos, etc.

Para mí, otra solución que me permitió conservar el renderizado acelerado por hardware en la mayoría de las situaciones fue exportar LIBGL_DRI3_DISABLE=1en el entorno antes de iniciar Chromium. Parece que DRI3 aún no está listo para el horario estelar ...


0

Eliminar e instalar la versión anterior ayudó con los siguientes comandos. Reemplacé i386 en lugar de amd64 y la instalación salió bien. gracias por la ayuda.

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

Para mí, el problema se resolvió limpiando del administrador de contraseñas de Chrome todas las contraseñas duplicadas, caducadas, exageradas, no utilizadas, etc. Parece que elegir contraseñas muy complejas tiende a bloquearse o congelar todo el sistema operativo y eso también ocurre en Windows OS. Otra cosa que hice fue establecer mi intercambio a 0.


0

Me enfrenté con el mismo problema en mi Ubuntu 14.10, la solución es simplemente matar a Chrome cada vez que se come la CPU, aquí está mi script para hacerlo, funcionó en mi caso.

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

En general, me gusta usar Chrome, pero es el único software en mi Ubuntu que se garantiza que congelará todo el sistema operativo si se le da suficiente tiempo de ejecución. Y en algunas ocasiones, literalmente no puedo hacer nada más que reiniciar en frío. Si ya tenía otro TTY abierto ( Alt+ Ctrl+ Fn), es posible que pueda o no cambiarlo para emitirlo killall chrome, lo que solucionará el sistema operativo al instante. Lo mismo, si ya tenía una conexión SSH pendiente. A veces, el cursor del mouse se moverá por la pantalla, pero nada más responderá. A veces ni siquiera el cursor del mouse.

De todos modos, descubrí experimentalmente que la RAM se agota con Chrome solo en uso; Alguna pérdida de memoria horrible. Entonces, lo que he hecho para evitar tener mi sistema operativo completamente congelado hasta el punto de no rescatarlo, es algo así como un bricolaje. He creado un script bash simple e instalado en el crontab de mi usuario. Lo corro cada minuto. Comprueba la cantidad de RAM libre y, si está por debajo de mi límite definido (uso 200 MB), emite killall chrome3 veces consecutivas (por si acaso). Después de eso, termina con Chrome desaparecido de su pantalla, pero aparece un cuadro de diálogo que le dice qué sucedió, cuánta memoria le queda y cuánto le queda ahora después de recuperarlo de Chrome. El guión es el siguiente:

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

Entonces, cuando llego a un nivel bajo crítico en mi RAM, mi Chrome se apaga y veo esto: ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.