MID サーバーの CPU 消費量が多いIssue MID サーバーは、多くの ServiceNow アプリケーションと統合で使用されています。アプリケーションには、ディスカバリー、サービスマッピング、オーケストレーション、イベント管理のほか、多数の統合があります。MID サーバー JVM は、ホストサーバーで予想よりも多くの CPU を消費することがあります。この KB では、MID サーバーで CPU 使用率が高くなる理由と、JVM のどのスレッドがリソースを使用しているかを調べる方法について説明します。どのスレッドがリソースを使い果たしているかを知ることは、根本原因と、問題をさらに調査するのに最も適したチームを見つけるために重要です。 注: MID サーバーが実際にビジー状態のときに、MID サーバーが CPU を 100% 使用することがあります。これは通常、長期間発生してサーバーのパフォーマンスに影響を与える場合、または実際の作業を行っていないときにリソースを使い果たす場合にのみ問題と見なされます。 CPU 使用率が高い理由 ウィルス対策 MID サーバーが使用されているときは、ユーザーの一時フォルダーと MID サーバーフォルダー自体にファイルが作成されます。頻繁に使用される MID サーバーでは、このようなファイルが多数作成および削除される可能性があります。ウイルス対策ソフトウェアは、そのようなファイルを確認し、その間に CPU リソースを使い果たそうとすることがあります。 回避策として: ウイルス対策ソフトウェアに例外として MID サーバーフォルダーを追加しますユーザーの一時フォルダーをウイルス対策ソフトウェアに追加します (MID サーバーサービスがローカル システムとして実行されている場合、一時フォルダーは通常 C:\Windows\Temp になります) 注: 必要に応じて、パラメータjava.io.tmpdirを使用してtempフォルダを更新できます。一時ディレクトリを変更するには KB0747569 を参照してください。 PowerShell Windows ディスカバリーが実行されると、PowerShell プロセスが作成されます。多くの Windows 検出を実行すると、これらが積み重なって CPU 使用率が高くなる可能性があります。 回避策として: MID サーバーの CPU が、お使いのバージョンの MID Server System Requirements ドキュメントに記載されている最小要件を満たしていることを確認しますMID サーバーが Windows ディスカバリーを実行している場合は、スレッド数を最大で 50 に保ちます 注: MID サーバーのシステム要件に関するドキュメントで説明されているように、「threads.max を 200 まで設定できますが、OS によってはこの設定を変更する必要がある場合があります。たとえば、Discovery を実行している Windows ベースの MID サーバーは、リソース集約的な Powershell を使用します。この場合、スレッド数がわずか 50 でホストマシンの CPU 電力を使い果たす可能性があります。ただし、CPU によっては、スレッド数がさらに少なくなる可能性があるため、最大スレッド数は 50 未満、またはデフォルトの 25 未満に抑える必要があります。 高 CPU スレッドを検索 Windows MID サーバーの場合: 1 https://support.servicenow.com/kb_view.do?sysparm_article=KB0656229 あたりの MID サーバーのスレッドダンプを取得しますhttps://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx からプロセスエクスプローラーをインストールプロセスエクスプローラーを開き、CPU 使用率が高いプロセスを見つけますプロセスをクリックし、「プロパティ」を選択します[スレッド] タブをクリックしますCPU 使用率でスレッドを並べ替え、CPU を使い果たして TID を取得します前のステップの TID は 10 進数です。スレッドダンプには、16 進数の TID があります。適切なツールを使用して、TID を 16 進数に変換します。Windows用のデフォルトの計算機を使用できますwrapper.logを開き、スレッドを見つけますRelated LinksCPU 使用率が 100% のディスカバリー MID サーバー - 良いか悪いか、なぜですか?