GNU/Linux >> Linux の 問題 >  >> Linux

非常に高い CPU 使用率で実行されている Jenkins

Windows 7 Ultimate に Jenkins をインストールすると、CPU 使用率が異常になる理由がいくつかあることに気付きました。

<オール>
  • 最近、v2.138 から v2.140 にアップグレードし、いくつかのプラグインを追加しました。ジョブがトリガーされるたびに、Jenkins Java 実行可能ファイルが CPU 時間の最大 60% を占めているという問題に気付き始めました。どのジョブも CPU バウンドではなく、外部サーバーからデータを取得するだけだったので、意味がありませんでした。 Jenkins サービスを再起動するだけで修正されました。アップグレードがきれいに完了しなかっただけだと思います.

  • Java ガベージ コレクションは、デフォルトのメモリ設定で実行すると、エラーをスローし、CPU を占有していました。やり過ぎかもしれませんが、思い切って Jenkins の Java ヒープ領域をデフォルトの 256 MB から 4 GB に増やしました。これは私にとってこの問題を解決しました。

    手順については、このソリューションを参照してください:https://stackoverflow.com/a/8122566/4479786


  • 結局のところ、私の問題は、いくつかのジョブに何千もの古いビルドが含まれていることでした。これは Jenkins 1.6 では問題ありませんでしたが、2.5 では問題です (ジョブの概要ページを表示すると、Jenkins がすべてのビルドをメモリにロードしようとする可能性があります)。それを修正するために、この戦略を使用して問題のあるジョブから古いビルドのほとんどを削除し、ジェンキンをリロードしました。魔法のように働きました!

    また、これが再び発生しないように、「古いビルドを破棄する」プラグインを設定して、最新の 50 のビルドのみを保持します。


    リクエストが来るたびに、Jenkins はいくつかのスレッドを生成してリクエストを処理します。 Jenkins をアップグレードした後、その時点でハイスロットルで起動した可能性があります。次のシナリオで、Jenkins サーバーの CPU とメモリの使用状況を確認してください:

    • Jenkins はアイドル状態で、他のアプリはサーバー上で実行されていません。
    • ビルドのスケジュールが設定されており、サーバー上で他のアプリが実行されていません。

    また、Jenkins または他のアプリと並行して Jenkins を実行することが本当に問題を引き起こしているかどうかを判断するのに役立つ動作を比較してください。

    @vlp が言ったように、フックする Jstad 構成を使用して JVisualVM 経由で jenkins アプリケーションを監視してみてください。Jstad を使用して JvisualVM を構成するには、このリンクを参照してください。


    Linux
    1. メモリとCPU使用率で上位のプロセスを見つける方法

    2. Linux –あらゆる試みにもかかわらず、ファンは依然として非常に大音量で高速に動作していますか?

    3. Macbook ProでUbuntuのCPU使用率が高くなる原因は?

    1. WindowsServerでの高いCPU使用率のトラブルシューティング

    2. kipmi0 IPMI カーネル ヘルパー 99% / 100% 高い CPU 使用率 (ただし、負荷平均は低い)

    3. 高CPU使用率を引き起こしているプロセスを見つける方法

    1. Linuxで最も高いメモリとCPU使用率で上位のプロセスを検索する

    2. LinuxでプロセスのCPU使用率を制限する方法

    3. CPU 使用率の高い apache プロセスが実際に行っていることを調べますか?