web-dev-qa-db-ja.com

Chromeは、タブを開くか再起動するときにUbuntuをフリーズします

これは昨日起きたばかりです。 Ubuntuで自動更新を有効にしているにもかかわらず、意図的に何も変更していません。

chromeを正常に起動できますが、しばらくは動作しますが、タブを開くと、マウス以外のすべてがフリーズします。私は何もできません(ctrl-alt-fXへの切り替えを含む)ので、唯一のオプションはREISUB(またはハードリセット)です。しばらくしてchromeを再起動すると、通常はタブを開くのと同じ効果があります。

最新バージョンを再インストールする前にchromeを完全にパージし、設定フォルダを削除しようとしましたが、役に立ちませんでした。すべての拡張機能を無効にしても解決しませんでした。

最新の安定したUbuntu 14を実行しています。15GBRAM、Intel i7

もう1つの奇妙な点は、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に切り替えることを提案していますが、それは問題を解決していません。さまざまな作業上の理由でchromeが必要であり、同じUbuntuバージョンでも自宅で問題なく動作するため、ロジックは修正可能であることを示唆しています。

Ubuntuではなくchromeが実行されている期間により関連していると思います。 Ubuntuを起動してすぐにchromeを起動すると、数分後に新しいタブでクラッシュします。起動後にchromeを起動せずに後で起動した場合、正常に起動し、同じ数分間実行した後にクラッシュします。

どうもありがとう

23
Thomas Smart

問題はGoogle Chrome v44にあります。 GPUアクセラレーションなしでchromeを起動することにより、作業を続けることができます。

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
18
Fabio

私はubuntu 14.04とChromeで同じ問題を抱えています。 nvidia geforce gtx 650グラフィックスカードがあります。問題は、Ubuntuのnouveauグラフィックカードドライバーにあるようです。私が修正したのは、システム設定->ソフトウェアと更新->追加のドライバーに移動し、nouveauではなく独自のnvidiaドライバー(または使用しているカード)を選択することでした。この変更により、YouTubeのメディアプレーヤーに関する問題も修正されたようです(他のメディアプレーヤーに適用される場合と適用されない場合があります)。特に高速で移動するビデオ画像は、水平の「断層線」が表示されるセクションで更新されるように見えました。それもなくなったようです。

6
hubbabubba

Chromeをアンインストールしてから、構成ファイルをすべて削除しましたが、何も同じ問題は発生しませんでした。これは、Ubuntu 14.04 64ビットで動作します

google-chrome --disable-gpu
2
Amekare

このバグを回避するためにLKMLにパッチを投稿しましたが、この問題はlibdrm(Chromeではなく)バグとして識別されたと言われました。

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

この問題はlibdrm 2.40.6のみに関連し、上記のリンクからは、この同じエラーが発生する可能性のあるChromeだけではなく、他のアプリケーションがありますヌーボーで。

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アクセラレーションがオンになっていることを確認できます。

1

here のように、nouveauビデオドライバーをnvidiaドライバーに置き換えることで解決しました。

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
1
Vitaliy Kulikov

これは、Ubuntu以外の完全に自動化されたLFSシステム(I am命のない変人、私は認めています)でしばらく見ました。破損したボスなどについて、dmesgログで大量の叫び声を出します。

私にとって、ほとんどの状況でハードウェアアクセラレーションレンダリングを維持できる別のソリューションは、Chromiumを起動する前にLIBGL_DRI3_DISABLE=1環境にエクスポートすることでした。 DRI3はまだプライムタイムにはまだ準備が整っていないようです...

0
Nix

次のコマンドを使用すると、以前のバージョンを削除してインストールできます。 AMD64の代わりにi386を交換しましたが、インストールはうまくいきました。助けてくれてありがとう。

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
user472300

私にとっては、chromeパスワードマネージャーから重複、期限切れ、長く誇張された、未使用などのすべてのパスワードを削除することで問題を解決しました。非常に複雑なパスワードを選択すると、オペレーティングシステム全体がクラッシュまたはフリーズする傾向があり、それはWindows OSでも発生するようです。私がやったもう一つのことは、swapinessを0に設定しました。

0

私は一般的にクロムを使用するのが好きですが、実行に十分な時間が与えられた場合、OS全体をフリーズすることが保証されているのは私のUbuntu上の唯一のソフトウェアです。また、場合によっては、コールドリブート以外は文字通り何もできません。別のTTYをすでに開いている場合(Alt+Ctrl+Fn)その後、killall chromeを発行するように切り替えることができる場合とできない場合があります。これにより、OSが即座に修正されます。同じ、すでにSSH接続が保留中の場合。マウスカーソルが画面上を移動することもありますが、それ以外の反応はまったくありません。マウスカーソルでさえない場合があります。

とにかく、RAMが使用中のchromeで不足することが実験的にわかりました。いくつかのひどいメモリリーク。したがって、私がOSを完全に凍結して救助の余地がなくなるのを避けるためにやったことは、ややDIYです。単純なbashスクリプトを作成し、ユーザーのcrontabにインストールしました。毎分実行しています。 RAMの空き容量をチェックし、定義された制限(200 MBを使用)を下回る場合、killall chromeを3回連続して(念のため)発行します。その後、画面から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

したがって、RAMが非常に少なくなると、chromeが削除され、次のように表示されます。 enter image description here

0
Kris Jace

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
0
user247893