RAMでスワップできないページの総数を取得するには?

RAMでスワップできないページの総数を取得するには?

固定物理メモリを必要とする一部のMLコードをデバッグしようとしており、この問題を解決するのに役立つように物理RAMにスワップできないページ(スワップ不可能なカーネルページ、CUDAなど)が含まれている量を把握するやりたいです。固定ページなど)。

特に、すべてのページは次の3つのグループのうちの1つのメンバーであると思います。

  1. 物理RAMに常駐するが交換可能
  2. 物理RAMに常駐しているが交換できない
  3. 物理RAMで交換

2グループの規模を知りたいです。

探してfreeコマンドを理解しましたが、freeグループ1+2とグループ3についてだけお話しするようですね。グループ2を具体的に分離する方法はありますかfree?それとも、交換できないグループページの数を見つけるための別の方法はありますか?

答え1

proc擬似ファイルシステムで「meminfo」ファイルを表示できます。たとえばcat /proc/meminfo。 「Unevictable」と「Mlocked」のエントリを探します。私はこれがあなたが探しているものだと思います。 man procいくつかの情報が提供されていますが、これら2つの項目はマニュアルページから多くの文書を受け取りませんでした(少なくとも私のシステムではありません)。

freeコマンドで探している情報を取得する方法が見つかりませんでした。

/proc/meminfoで説明したように、コンテンツ全体を渡すことができない可能性があります。https://docs.kernel.org/mm/unevictable-lru.html

/ proc / meminfoのUnevictableおよびMlocked番号には、VM_LOCKED VMAのPTEにのみマップされた透明なhugepages部分は含まれません。

関連情報