ローカルネットワークのヘルスモニタでキオスクモードでChromeを実行するようにRaspberry Pi(Raspbian / Debian 8 / Jessieを含む)が設定されています。私たちのネットワーク上のサーバーからページを読み込むように設定されています。ページには、30秒ごとにページを再ロードする小さなJavascriptセクションがあります。
約2時間働いた後、「ああ!」エラーページで動作が停止しました。
私はChromeのロギングをオンにする方法を掘り下げて見つけました。これにより、次のエラーメッセージが表示されました。
[246:254:0117/113914:ERROR:platform_thread_posix.cc(118)] pthread_create: Resource temporarily unavailable
ちょっとしたインターネット検索で知りました。このページこれは、システムに使用可能なスレッドが十分でないという問題があることを示しています。 abdを使用してシステム制限を確認したところ、7336と同じであることがわかりulimit -a
ました。max user processes
次に、使用されたChromeプロセスの数を記録する簡単なスクリプトを設定し、ps -elfT | grep chrom | wc -l
Chromeがゆっくりより多くのスレッドを作成し、スレッド数が222(低い約50から増加)に達するとクラッシュが発生することがわかりました。
これが問題であることを確実に証明するわけではありませんが、スレッド数が着実に増加することが問題のようです。これにより、次の質問が発生します。
Chromeが常に新しいスレッドを生成するのを防ぐ方法は?