ヘルス チェック: スレッド制限
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
問題
ヘルス チェックでは、Jira または Confluence を実行しているユーザー アカウントが同時に実行可能なプロセス (スレッド) の最大数を確認します。最大プロセスはオペレーティング システムで定義され、多くの場合はデフォルトで 1024 になりますが、これは大規模環境で実行されているアトラシアン アプリケーションには低すぎる値です。低すぎると、パフォーマンスの問題や、「Confluence がクラッシュし、'OutOfMemory: unable to create new native thread' エラーが表示される」のようなメモリ不足によるエラーが発生します。
診断
<アプリケーション> を実行しているユーザーアカウントのプロセス数は十分です。推奨される最大プロセス数は 4096 です。
ヘルス チェックに合格し、Jira または Confluence を実行しているユーザーは適切な数のスレッドを作成できます。
<アプリケーション> を実行しているユーザーアカウントのプロセスの最大数は現在 <数字> であり、そのことがパフォーマンスの問題を引き起こす可能性があります。最大数を最低 4096 に増加することをおすすめします。
ヘルス チェックに失敗しています。Jira または Confluence を実行しているユーザーは適切な数のスレッドを作成できず、それにより、検知が困難かつ最終的には OutOfMemory エラーでアプリケーションをクラッシュさせる可能性のある、パフォーマンスの問題が発生する可能性があります。
<アプリケーション> を実行しているユーザーアカウントのプロセスの最大数を決定することができませんでした。最大数を最低 4096 に設定することをおすすめします。
ヘルス チェックでプロセスの最大数を取得できませんでした。「Confluence がクラッシュして 'OutOfMemory: unable to create new native thread' エラーが返される」にあるような挙動が発生している場合、最大値が適切かどうかを手動で確認する必要があります。
ソリューション
ユーザー プロセスの最大実行数やオープンなファイル数は永続的に設定することをおすすめします。この方法はオペレーティング システムごとに異なります。ほとんどの Linux ディストリビューションでは、ulimit を使うことで一時的に、または limits.conf を使うことで永続的に (例: Ubuntu、RedHat) 設定できます。次の内容を追加します。
confluence soft nofile 4096
confluence hard nofile 8192
confluence soft nproc 4096
confluence hard nproc 8192
confluence
は Jira または Confluence のインスタンスを実行するユーザーで置き換えます。
systemd ではシステムの ulimit が無視されます。値は適切なサービス ファイル <servicename>.service
で指定する必要があります。値に一覧をこちらで確認できます。