Translated message

A translation of this page exists in English.

congestion_wait() や shrink_inactive_list() による直接回収処理中にアプリケーションプロセスがハングする

Solution In Progress - Updated -

Issue

  • 問題は、直接回収のパスにおいて、複数のプロセスが shrink_inactive_list() および too_many_isolated() のループ内でほぼ永続的にスタックする可能性があることです。これらはその後、rw sema を介して他のプロセスをブロックし、ハングアップが連鎖的に発生します。

  • 以下のような現象が見られることがあります。

    • 多数のタスクがセマフォで待機していました。
    • セマフォの保持者は "numad" でした。ページ回収のコード内で congestion_wait() が呼び出され、待機状態となっていました。
    • 当時、別のタスクも同じ congestion_wait キューで待機状態にありました。
    • メモリー不足に近い状態と、少量のスワップが発生していましたが、すべてのゾーンにおいて、
      空きページ数が最小ウォーターマークを下回ることはありませんでした。

Environment

  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content