当打开标签页或重新启动时,Chrome会冻结Ubuntu

这才刚刚开始发生。 虽然我在Ubuntu中启用了自动更新,但我并没有故意改变任何内容。

我可以开始镀铬了,它会工作一段时间,但后来我打开一个标签,它会冻结除鼠标之外的所有东西,我仍然可以移动。 我不能做任何事情(包括切换到ctrl-alt-fX)所以只有选项是REISUB(或硬复位)。 一段时间后重新启动chrome通常与打开选项卡具有相同的效果。

我尝试完全清除chrome并删除settings文件夹,然后重新安装最新版本但它没有帮助。 禁用所有扩展程序没有帮助。

我正在运行最新稳定的Ubuntu 14. 15gb 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并且仅在稍后启动它将启动正常,然后在运行相同的几分钟后崩溃。

非常感谢

问题出在谷歌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,直到修复程序结束。

注意:您无法从设置URL禁用gpu加速,因为它会立即冻结您的系统:

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

我在使用ubuntu 14.04和Chrome时遇到了同样的问题。 我有nvidia geforce gtx 650显卡。 问题似乎确实是Ubuntu的nouveau显卡驱动程序。 对我来说,修复是进入系统设置 – >软件和更新 – >附加驱动程序,然后选择专有的nvidia驱动程序(或者您拥有的任何卡)而不是nouveau。 这种变化似乎也解决了我对youtube的媒体播放器的问题(可能适用于其他媒体播放器也可能不适用)。 特别是快速移动的video图像似乎在出现水平“断层线”的部分中更新。 它似乎也消失了。

我卸载了Chrome,然后删除了所有配置文件,没有任何内容,也遇到了同样的问题。 这适用于Ubuntu 14.04 64位

 google-chrome --disable-gpu 

确保您在浏览器中具有Graphics Feature Status良好状态。 点击此链接validation:

 chrome://gpu/ 

您应该看到所有绿色选项Hardware accelerated 。 如果没有,请转到

 chrome://flags/ 

第1行是启用Override software rendering list #igna -gpu-blacklist的标志。

重新启动浏览器并再次检查Hardware accelerated状态。

此外,请确保在运行浏览器期间有足够的可用内存

 $ free 

我通过用这里描述的nvidia驱动程序替换nouveauvideo驱动程序解决了这个问题。

不需要google-chrome --disable-gpu

我发布了一个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,我可以validationChrome是否按预期运行,并开启了gpu加速function。

我在一段时间后看到了我的完全非Ubuntu流血事件 – 一切自动驾驶的LFS系统(我一个没有生命的怪人,我承认它)。 提示在dmesg日志中大量尖叫有关损坏的bos等。

对我来说,另一个让我在大多数情况下保留硬件加速渲染的解决方案是在启动Chromium之前在环境中导出LIBGL_DRI3_DISABLE=1 。 看起来DRI3尚未准备好迎接黄金时段……

使用以下命令帮助删除并安装以前的版本。 我更换了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 

对我来说,问题是通过从chrome密码管理器清除所有重复,过期,夸大,未使用等密码来解决的。 似乎选择非常复杂的密码往往会崩溃或冻结整个操作系统,这也发生在Windows操作系统中。 我做的另一件事我把我的swappiness降低到0。

我在Ubuntu 14.10上遇到了同样的问题,解决方案就是每次吃掉CPU时都会杀死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 

我通常喜欢使用chrome,但它是我的Ubuntu上唯一的软件,如果有足够的时间运行,它可以保证冻结整个操作系统。 在某些情况下,除了冷重启之外,我几乎无能为力。 如果我已经打开了另一个TTY( Alt + Ctrl + Fn ),那么我可能会或者可能无法切换到它发出killall chrome ,这将立即修复操作系统。 同样,如果我已经有一个待连接的SSH连接。 有时鼠标光标会在屏幕上移动,但绝对没有其他任何东西会响应。 有时甚至不是鼠标光标。

无论如何,我通过实验发现RAM耗尽了正在使用的chrome; 一些可怕的内存泄漏。 所以我所做的就是避免让我的操作系统完全冻结到无救援的程度,这有点像DIY。 我创建了一个简单的bash脚本并安装在我的用户的crontab下。 我每分钟都跑一次。 它检查可用的RAM数量,如果它超出我定义的限制(我使用200 MB),它会发出killall chrome ,连续3次(以防万一)。 在那之后你最终会从你的屏幕上消失掉铬,但会出现一个对话框,告诉你发生了什么,剩下多少记忆,以及从铬中恢复后你现在有多少钱。 脚本如下:

 #!/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  -e # then add this script 

因此,当我的内存达到临界值时,我的chrome就会被杀死,我看到了这个: 在此处输入图像描述