すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Linux:cgroup v1 と cgroup v2 の違い

最終更新日:Nov 25, 2025

Linux では、コントロールグループ (cgroup) は、cgroup 内のタスク (プロセス) に割り当てられる CPU、メモリ、I/O リソースなどの物理リソースを制限、記録、分離するリソース管理および制限メカニズムを提供します。親 cgroup を使用して、子孫 cgroup のリソース使用量を制御できます。cgroup v1 と cgroup v2 は cgroup の 2 つのメジャーバージョンであり、設計と使用方法が大幅に異なります。このトピックでは、cgroup v1 と cgroup v2 の主な違いについて説明します。

共通インターフェイスの違い

cgroup v1 インターフェイス

インターフェイス名

目的

社内インターフェイス

対応する cgroup v2 インターフェイス

cgroup.procs

cgroup にタスクを移行するためにプロセス ID (PID) を書き込みます。

いいえ

cgroup.procs。

cgroup.clone_children

値が 1 の場合、子 cgroup は親 cgroup の cpuset 構成を継承することを示します。

説明

このインターフェイスは cpuset サブシステムでのみ有効であり、歴史的な理由から共通インターフェイスとして分類されています。

いいえ

N/A

cgroup.sane_behavior

cgroup v2 インターフェイスの実験的な特徴をサポートし、下位互換性を提供します。

いいえ

N/A

notify_on_release

値が 1 の場合、cgroup が空になると release_agent インターフェイスのタスクが実行されることを示します。

説明

これらのインターフェイスはルート cgroup にのみ存在します。

いいえ

cgroup.events、同様の機能を実装

release_agent

いいえ

tasks

cgroup にスレッドを移行するためにスレッド ID (TID) を書き込みます。

いいえ

cgroup.threads。

pool_size

cgroup キャッシュプールのサイズを制御します。cgroup キャッシュプールは、高同時実行シナリオでの cgroup の作成とバインドを高速化するのに役立ちます。

説明

このインターフェイスは cgroup_rename に依存しており、cgroup v2 では使用できません。

はい

N/A

cgroup v2 インターフェイス

インターフェイス名

目的

社内インターフェイス

対応する cgroup v1 インターフェイス

cgroup.procs

cgroup にタスクを移行するために PID を書き込みます。

いいえ

cgroup.procs。

cgroup.type

文字列 "threaded" を書き込んで cgroup をスレッド化 cgroup に変更し、スレッド粒度の制御を提供します。

説明

cpupids、および perf_event のスレッド化コントローラーのみがサポートされています。

いいえ

N/A

cgroup.threads

cgroup にスレッドを移行するために TID を書き込みます。

説明

文字列 "threaded" を cgroup.type インターフェイスファイルに書き込む必要があります。

いいえ

タスク。

cgroup.controllers

現在の cgroup で利用可能なすべてのサブシステムをクエリします。

いいえ

N/A

cgroup.subtree_control

cgroup からその子 cgroup へのリソース配布を制御するために有効にするサブシステムを指定します。

説明

サブシステムは cgroup.controllers インターフェイスを使用してクエリできます。

いいえ

N/A

cgroup.events

現在の cgroup にアクティブなプロセスが存在するかどうか、および現在の cgroup が凍結されているかどうかをクエリします。fsnotify を使用してこのインターフェイスをリッスンし、インターフェイスのステータスが変更されたかどうかを確認できます。

説明

このインターフェイスはルート cgroup には存在しません。

いいえ

notify_on_release と release_agent は、同様の機能を実装するために一緒に使用されます

cgroup.max.descendants

現在の cgroup で許可される子孫 cgroup の最大数を制御します。

いいえ

N/A

cgroup.max.depth

現在の cgroup で許可される子孫 cgroup の最大深度を制御します。

いいえ

N/A

cgroup.stat

現在の cgroup の下にある子孫 cgroup の数と、Dying (削除済み) 状態にある子孫 cgroup の数をクエリします。

いいえ

N/A

cgroup.freeze

cgroup 内のタスクを凍結するかどうかを制御します。

説明

このインターフェイスはルート cgroup には存在しません。

いいえ

freezer サブシステムの freezer.state

cpu.stat

CPU 使用率に関する統計をクエリします。

いいえ

N/A

io.pressure

I/O パフォーマンス、メモリ、および CPU の Pressure Stall Information (PSI) をクエリします。この情報はポーリングできます。詳細については、次のトピックをご参照ください。

いいえ

cpuacct サブシステムの io.pressure、memory.pressure、および cpu.pressure インターフェイス。これらは PSI 機能を実装できます

memory.pressure

いいえ

cpu.pressure

いいえ

サブシステムインターフェイスの違い

CPU

cgroup v1 インターフェイス

インターフェイス名

目的

社内インターフェイス

対応する cgroup v2 インターフェイス

cpu.shares

cgroup 内のタスクに CPU 時間スライスを割り当てる基準となる重みを制御します。デフォルト値: 1024。

いいえ

cpu.weight と cpu.weight.nice、単位が異なります

cpu.idle

現在の cgroup にアイドルスケジューリングポリシーを使用するかどうかを制御します。アイドルスケジューリングポリシーは、最小の CPU シェアに基づいて時間スライスを割り当てます。最小ランタイムはサポートされなくなり、CPU リソースを非アイドルタスクに簡単に割り当てることができます。

説明

cpu.idle の値が 1 に設定されている場合、cpu.shares インターフェイスは書き込み不可になり、3 にのみ設定されます。

いいえ

cpu.idle

cpu.priority

詳細なプリエンプティブ優先度。プリエンプションは、クロックが中断されたり、ウェイクアップされたりしたときに実行されます。詳細なプリエンプティブ優先度は、優先度の違いに基づいて変化し、高優先度のタスクが低優先度のタスクのメモリをプリエンプトできるようにします。

はい

cpu.priority

cpu.cfs_quota_us

Completely Fair Scheduler (CFS) を使用して制御される CPU ランタイム。cpu.cfs_quota_us は、cpu.cfs_period_us インターフェイスで定義された期間内に cgroup 内のタスクの最大 CPU ランタイムを指定します。

いいえ

cpu.max

cpu.cfs_period_us

いいえ

cpu.cfs_burst_us

cpu.cfs_period_us インターフェイスで定義された期間内にタスクがバーストできる期間。詳細については、「cgroup v1 の CPU バースト機能を有効にする」をご参照ください。

いいえ

cpu.max.burst

cpu.cfs_init_buffer_us

cgroup 内のタスクが開始されたときにバーストできる期間。

はい

cpu.max.init_buffer

cpu.stat

cpu.cfs_period_us 期間の数や、タスクが使用する CPU リソースがスロットルされた回数など、CPU ランタイムに関する統計をクエリします。

いいえ

cpu.stat

cpu.rt_runtime_us

リアルタイム CPU ランタイムを制御します。cpu.rt_runtime_us は、cpu.rt_period_us 期間内に cgroup 内のリアルタイムタスクの最大ランタイムを指定します。

いいえ

N/A

cpu.rt_period_us

いいえ

N/A

cpu.bvt_warp_ns

グループ ID 属性を制御して cgroup の ID を変更します。これを使用してオフラインタスクを区別し、オンラインタスクに対してより良い CPU サービス品質 (QoS) 保証を提供できます。詳細については、「グループ ID 機能」をご参照ください。

はい

cpu.bvt_warp_ns

cpu.identity

はい

cpu.identity

cpu.ht_stable

同時マルチスレッディング (SMT) のピアノイズを生成して、一貫した SMT 計算能力を維持するかどうかを指定します。

はい

N/A

cpu.ht_ratio

SMT ピアがアイドル状態のときにクォータを使用して追加の計算能力を提供し、一貫した SMT 計算能力を維持するかどうかを制御します。

はい

cpu.ht_ratio

cgroup v2 インターフェイス

説明

cgroup v2 は cpuacct サブシステムをサポートしなくなりました。cpuacct サブシステムの特定のインターフェイスまたは関連する特徴は、cgroup v2 の CPU サブシステムによって実装されます。

インターフェイス名

目的

社内インターフェイス

対応する cgroup v1 インターフェイス

cpu.weight

cgroup 内のタスクに CPU 時間スライスを割り当てる基準となる重みを制御します。デフォルト値: 100。

いいえ

cpu.shares、単位が異なります

cpu.weight.nice

cgroup 内のタスクに CPU 時間スライスを割り当てる基準となる重みを制御します。デフォルト値: 0。

いいえ

cpu.shares、単位が異なります

cpu.idle

現在の cgroup にアイドルスケジューリングポリシーを使用するかどうかを制御します。アイドルスケジューリングポリシーは、最小の CPU シェアに基づいて時間スライスを割り当てます。最小ランタイムはサポートされなくなり、CPU リソースを非アイドルタスクに簡単に割り当てることができます。

説明

cpu.idle の値が 1 の場合、cpu.weight および cpu.weight.nice インターフェイスは書き込み不可になり、最小の重み 0.3 が有効になります。この場合、cpu.weight の値は 0 に丸められます。

いいえ

cpu.idle

cpu.priority

詳細なプリエンプティブ優先度。プリエンプションは、クロックが中断されたり、ウェイクアップされたりしたときに実行されます。詳細なプリエンプティブ優先度は、優先度の違いに基づいて変化し、高優先度のタスクが低優先度のタスクのメモリをプリエンプトできるようにします。

はい

cpu.priority

cpu.max

CFS を使用して制御される CPU ランタイム。cpu.cfs_quota_us は、cpu.cfs_period_us 期間内に cgroup 内のタスクの最大 CPU ランタイムを指定します。

いいえ

cpu.cfs_quota_us、cpu.cfs_period_us

cpu.max.burst

cpu.max インターフェイスで定義された期間内にタスクがバーストできる期間。

いいえ

cpu.max.burst

cpu.max.init_buffer

cgroup 内のタスクが開始されたときにバーストできる期間。

はい

cpu.cfs_init_buffer_us

cpu.bvt_warp_ns

グループ ID 属性を制御して cgroup の ID を変更します。これを使用してオフラインタスクを区別し、オンラインタスクに対してより良い CPU QoS 保証を提供できます。

はい

cpu.bvt_warp_ns

cpu.identity

はい

cpu.identity

cpu.sched_cfs_statistics

cgroup のランタイムや、同じレベルまたは異なるレベルの cgroup の待機時間など、CFS に関する統計をクエリします。

説明

kernel.sched_schedstats オプションを有効にする必要があります。

はい

cpuacct.sched_cfs_statistics

cpu.wait_latency

キューで待機しているタスクのレイテンシをクエリします。

説明

kernel.sched_schedstats および /proc/cpusli/sched_lat_enabled オプションを有効にする必要があります。

はい

cpuacct.wait_latency

cpu.cgroup_wait_latency

キューで待機している cgroup のレイテンシをクエリします。wait_latency インターフェイスはタスクスケジューリングエンティティ (SE) のレイテンシをカウントし、cgroup_wait_latency インターフェイスはグループ SE のレイテンシをカウントします。

説明

kernel.sched_schedstats および /proc/cpusli/sched_lat_enabled オプションを有効にする必要があります。

はい

cpuacct.cgroup_wait_latency

cpu.block_latency

非 I/O 原因でブロックされたタスクのレイテンシをクエリします。

説明

kernel.sched_schedstats および /proc/cpusli/sched_lat_enabled オプションを有効にする必要があります。

はい

cpuacct.block_latency

cpu.ioblock_latency

I/O 操作が原因でブロックされたタスクのレイテンシをクエリします。

説明

kernel.sched_schedstats および /proc/cpusli/sched_lat_enabled オプションを有効にする必要があります。

はい

cpuacct.ioblock_latency

cpu.ht_ratio

SMT ピアがアイドル状態のときにクォータを使用して追加の計算能力を提供し、一貫した SMT 計算能力を維持するかどうかを制御します。

説明

このインターフェイスは、コアスケジューリング機能が有効な場合にのみ有効です。

はい

cpu.ht_ratio

cpuset

cgroup v1 インターフェイス

インターフェイス名

目的

社内インターフェイス

対応する cgroup v2 インターフェイス

cpuset.cpus

タスクが実行できる CPU を制御します。

説明

このインターフェイスが空の場合、タスクを cgroup にアタッチすることはできません。

いいえ

cpuset.cpus

cpuset.mems

cgroup 内のタスクに割り当てることができる非均一メモリアクセス (NUMA) ノードを制御します。

説明

このインターフェイスが空の場合、タスクを cgroup にアタッチすることはできません。

いいえ

cpuset.mems

cpuset.effective_cpus

タスクが実行されている有効な CPU をクエリします。このインターフェイスの値は、CPU ホットプラグイベントの影響を受けます。

いいえ

cpuset.cpus.effective

cpuset.effective_mems

実行中のタスクに割り当てられている有効な NUMA ノードをクエリします。このインターフェイスの値は、メモリノードのホットプラグイベントの影響を受けます。

いいえ

cpuset.mems.effective

cpuset.cpu_exclusive

cgroup によって排他的に使用され、cgroup 内の同じレベルの他の cpuset では使用できない CPU を制御します。

いいえ

cpuset.cpus.partition、同様の機能をサポート

cpuset.mem_exclusive

cgroup によって排他的に使用され、cgroup 内の同じレベルの他の cpuset では使用できない NUMA ノードを制御します。

いいえ

N/A

cpuset.mem_hardwall

値が 1 の場合、cpuset にアタッチされているメモリノードからのメモリのみをタスクに割り当てることができることを示します。

いいえ

N/A

cpuset.sched_load_balance

cpuset 内で CPU が負荷分散されるかどうかを制御します。デフォルトでは、この機能は有効になっています。

いいえ

N/A

cpuset.sched_relax_domain_level

スケジューラがタスクを移行してタスクの CPU を負荷分散するときに CPU を検索する範囲を制御します。デフォルト値: -1。

  • -1: デフォルトのシステムポリシーを強制します。

  • 0: 検索を実行しません。

  • 1: 同じコア内のハイパースレッドを検索します。

  • 2: 同じパッケージ内のコアを検索します。

  • 3: 同じノード上の CPU を検索します。

  • 4: 同じチャンク内のノード上の CPU を検索します。

  • 5: システム全体の CPU を検索します。

いいえ

N/A

cpuset.memory_migrate

ゼロ以外の値は、タスクが cpuset 内のメモリページに割り当てられ、別の cpuset に移行された場合、そのメモリページも新しい cpuset に移行できることを示します。

いいえ

N/A

cpuset.memory_pressure

現在の cpuset のメモリページングプレッシャーを計算します。

いいえ

N/A

cpuset.memory_spread_page

値が 1 の場合、カーネルがページキャッシュを cpuset のメモリノードに均等に割り当てることを示します。

いいえ

N/A

cpuset.memory_spread_slab

値が 1 の場合、カーネルがスラブキャッシュを cpuset のメモリノードに均等に割り当てることを示します。

いいえ

N/A

cpuset.memory_pressure_enabled

値が 1 の場合、cpuset のメモリプレッシャー統計収集が有効になっていることを示します。

いいえ

N/A

cgroup v2 インターフェイス

インターフェイス名

目的

社内インターフェイス

対応する cgroup v1 インターフェイス

cpuset.cpus

タスクが実行できる CPU を制御します。

説明

このインターフェイスの値が空の場合、親 cpuset の CPU が使用されます。

いいえ

cpuset.cpus

cpuset.mems

cgroup 内のタスクに割り当てることができる NUMA ノードを制御します。

説明

このインターフェイスの値が空の場合、親 cpuset の NUMA ノードが使用されます。

いいえ

cpuset.mems

cpuset.cpus.effective

タスクが実行されている有効な CPU をクエリします。このインターフェイスの値は、CPU ホットプラグイベントの影響を受けます。

いいえ

cpuset.effective_cpus

cpuset.mems.effective

実行中のタスクに割り当てられている有効な NUMA ノードをクエリします。このインターフェイスの値は、メモリノードのホットプラグイベントの影響を受けます。

いいえ

cpuset.effective_mems

cpuset.cpus.partition

cpuset の CPU が排他的に使用されるかどうかを制御します。インターフェイスに root が書き込まれると、cpuset の CPU は排他的に使用されます。

いいえ

cpuset.cpu_exclusive、同様の機能を実装

.__DEBUG__.cpuset.cpus.subpartitions

cpuset.cpus.partition インターフェイスに root が書き込まれたときに、どの CPU が排他的に使用されるかをクエリします。

説明

このインターフェイスは、カーネル cmdline で cgroup_debug 機能が有効になっている場合にのみ使用できます。

いいえ

N/A

blkio

cgroup v1 インターフェイス

インターフェイス名

目的

社内インターフェイス

対応する cgroup v2 インターフェイス

blkio.throttle.read_bps_device

cgroup がデバイスから読み取ることができる 1 秒あたりの最大バイト数を指定します。

例:

echo "<major>:<minor> <bps>" > /sys/fs/cgroup/blkio/<cgroup>/blkio.throttle.read_bps_device

いいえ

io.max

blkio.throttle.write_bps_device

cgroup がデバイスに書き込むことができる 1 秒あたりの最大バイト数を指定します。

例:

echo "<major>:<minor> <bps>" > /sys/fs/cgroup/blkio/<cgroup>/blkio.throttle.write_bps_device

いいえ

io.max

blkio.throttle.read_iops_device

cgroup がデバイスで実行できる 1 秒あたりの最大読み取り操作数を指定します。

例:

echo "<major>:<minor> <iops>" > /sys/fs/cgroup/blkio/<cgroup>/blkio.throttle.read_iops_device

いいえ

io.max

blkio.throttle.write_iops_device

cgroup がデバイスで実行できる 1 秒あたりの最大読み取り操作数を指定します。

例:

echo "<major>:<minor> <iops>" > /sys/fs/cgroup/blkio/<cgroup>/blkio.throttle.write_iops_device

いいえ

io.max

blkio.throttle.io_service_bytes

帯域幅の統計をクエリします。

このインターフェイスは、すべてのデバイスの読み取り、書き込み、同期、非同期、破棄、および合計帯域幅の統計を収集します。単位: バイト。

いいえ

io.stat

blkio.throttle.io_service_bytes_recursive

blkio.throttle.io_service_bytes インターフェイスの再帰バージョン。

blkio.throttle.io_service_bytes インターフェイスを使用して収集された統計には、子孫 cgroup のデータが含まれます。

いいえ

N/A

blkio.throttle.io_serviced

IOPS 統計をクエリします。

このインターフェイスは、すべてのデバイスの読み取り、書き込み、同期、非同期、破棄、および合計 IOPS 統計を収集します。

いいえ

io.stat

blkio.throttle.io_serviced_recursive

blkio.throttle.io_serviced インターフェイスの再帰バージョン。

blkio.throttle.io_serviced インターフェイスを使用して収集された統計には、子孫 cgroup のデータが含まれます。

いいえ

N/A

blkio.throttle.io_service_time

I/O 操作のリクエストディスパッチからリクエスト完了までの期間をクエリします。これは、平均 I/O レイテンシを測定するために使用されます。

詳細については、「ブロック I/O スロットルの監視を強化する」をご参照ください。

はい

io.extstat

blkio.throttle.io_wait_time

I/O 操作がスケジューラキューで待機する期間をクエリします。これは、平均 I/O レイテンシを測定するために使用されます。

詳細については、「ブロック I/O スロットルの監視を強化する」をご参照ください。

はい

io.extstat

blkio.throttle.io_completed

完了した I/O 操作の数をクエリします。これは、平均 I/O レイテンシを測定するために使用されます。

詳細については、「ブロック I/O スロットルの監視を強化する」をご参照ください。

はい

io.extstat

blkio.throttle.total_bytes_queued

スロットルされた I/O バイト数をクエリします。これは、I/O レイテンシがスロットルに関連しているかどうかを分析するために使用されます。

詳細については、「ブロック I/O スロットルの監視を強化する」をご参照ください。

はい

io.extstat

blkio.throttle.total_io_queued

スロットルされた I/O 操作の数をクエリします。これは、I/O レイテンシがスロットルに関連しているかどうかを分析するために使用されます。

詳細については、「ブロック I/O スロットルの監視を強化する」をご参照ください。

はい

io.extstat

blkio.cost.model

blk-iocost コストモデルを指定します。制御モード (ctrl) は auto または user に設定できます。

このインターフェイスはルート cgroup にのみ存在します。例:

echo "<major>:<minor> ctrl=user model=linear rbps=<rbps> rseqiops=<rseqiops> rrandiops=<rrandiops> wbps=<wbps> wseqiops=<wseqiops> wrandiops=<wrandiops>" > /sys/fs/cgroup/blkio/blkio.cost.model

詳細については、「blk-iocost の重みベースのスロットル機能を構成する」をご参照ください。

はい

io.cost.model

blkio.cost.qos

blk-iocost 機能を制御し、ディスクの輻輳をチェックするための QoS ポリシーを構成します。

このインターフェイスはルート cgroup にのみ存在します。例:

echo "<major>:<minor> enable=1 ctrl=user rpct= rlat=5000 wpct=95.00 wlat=5000 min=50.00 max=150.00" > /sys/fs/cgroup/blkio/blkio.cost.qos

詳細については、「blk-iocost の重みスロットルを構成する」をご参照ください。

はい

io.cost.qos

blkio.cost.weight

cgroup の重みを指定します。

このインターフェイスは非ルート cgroup にのみ存在し、次のモードで構成できます:

  • weight: すべてのデバイスに同じ重みを設定します。

  • major:minor + weight: 特定のデバイスの重みを設定します。

詳細については、「blk-iocost の重みベースのスロットル機能を構成する」をご参照ください。

はい

io.cost.weight

blkio.cost.stat

blk-iocost の統計をクエリします。このインターフェイスは非ルート cgroup にのみ存在します。

はい

N/A

cgroup v2 インターフェイス

インターフェイス名

目的

社内インターフェイス

対応する cgroup v1 インターフェイス

io.max

バイト/秒および IOPS での読み取りおよび書き込みのスロットルレートを指定するスロットルインターフェイス。例:

echo "<major>:<minor> rbps=<bps> wbps=<bps> riops=<iops> wiops=<iops>" > /sys/fs/cgroup/<cgroup>/io.max

いいえ

blkio.throttle.read_bps_device

blkio.throttle.read_iops_device

blkio.throttle.write_bps_device

blkio.throttle.write_iops_device

io.stat

バイト/秒および IOPS での読み取り、書き込み、破棄操作のレートを含む I/O 操作統計をクエリします。

いいえ

blkio.throttle.io_service_bytes

blkio.throttle.io_serviced

io.extstat

待機時間、サービス時間、完了した I/O 操作の数、およびバイト/秒と IOPS でのスロットルレートを含む、拡張 I/O 統計をクエリします。

いいえ

blkio.throttle.io_service_time

blkio.throttle.io_wait_time

blkio.throttle.io_completed

blkio.throttle.total_bytes_queued

blkio.throttle.total_io_queued

io.cost.model

blk-iocost コストモデルを指定します。制御モード (ctrl) は auto または user に設定できます。

このインターフェイスはルート cgroup にのみ存在します。例:

echo "<major>:<minor> ctrl=user model=linear rbps=<rbps> rseqiops=<rseqiops> rrandiops=<rrandiops> wbps=<wbps> wseqiops=<wseqiops> wrandiops=<wrandiops>" > /sys/fs/cgroup/io.cost.model

詳細については、「blk-iocost の重みスロットルを構成する」をご参照ください。

いいえ

blkio.cost.model

io.cost.qos

blk-iocost 機能を制御し、ディスクの輻輳をチェックするための QoS ポリシーを構成します。

このインターフェイスはルート cgroup にのみ存在します。例:

echo "<major>:<minor> enable=1 ctrl=user rpct= rlat=5000 wpct=95.00 wlat=5000 min=50.00 max=150.00" > /sys/fs/cgroup/io.cost.qos

詳細については、「blk-iocost の重みスロットルを構成する」をご参照ください。

いいえ

blkio.cost.qos

io.cost.weight

cgroup の重みを指定します。

このインターフェイスは非ルート cgroup にのみ存在し、次のモードで構成できます:

  • weight: すべてのデバイスに同じ重みを設定します。

  • major:minor + weight: 特定のデバイスの重みを設定します。

詳細については、「blk-iocost の重みスロットルを構成する」をご参照ください。

いいえ

blkio.cost.weight

memory

cgroup v1 インターフェイス

インターフェイス名

目的

社内インターフェイス

対応する cgroup v2 インターフェイス

memory.usage_in_bytes

現在のメモリ使用量をクエリします。

いいえ

N/A

memory.max_usage_in_bytes

最大メモリ使用量をクエリします。

いいえ

N/A

memory.limit_in_bytes

メモリ使用量の上限 (ハードリミット) を指定します。

いいえ

N/A

memory.soft_limit_in_bytes

メモリ使用量の下限 (ソフトリミット) を指定します。

いいえ

N/A

memory.failcnt

メモリ使用量が上限に達した回数をクエリします。

いいえ

N/A

memory.mglru_batch_size

Multi-Generational Least Recently Used (MGLRU) フレームワークに基づいてプロアクティブに回収されるメモリのサイズを指定します。メモリ回収のバッチ間で CPU を解放する試みが行われます。

はい

N/A

memory.mglru_reclaim_kbytes

MGLRU フレームワークに基づいてプロアクティブに回収されるメモリのサイズを指定します。

はい

N/A

memory.wmark_ratio

memcg バックエンド非同期回収機能を制御し、非同期回収をトリガーする memcg メモリウォーターマークを設定します。単位: memcg メモリ上限のパーセント。有効な値: 0 から 100。

  • デフォルト値は 0 で、memcg バックエンド非同期回収機能が無効になっていることを示します。

  • 値が 0 でない場合、memcg バックエンド非同期回収機能が有効になります。対応するウォーターマークを設定できます。

詳細については、「Memcg バックエンド非同期回収」をご参照ください。

はい

memory.wmark_ratio

memory.wmark_high

読み取り専用インターフェイス。

  • memcg のメモリ使用量がこのインターフェイスの値を超えると、バックエンドの非同期回収が開始されます。

  • このインターフェイスの値は、次の数式を使用して計算されます: memory.wmark_high = memory.limit_in_bytes × memory.wmark_ratio/100。

  • memcg バックエンド非同期回収機能が無効になっている場合、memory.wmark_high はデフォルトで大きな値になり、バックエンド非同期回収がトリガーされるのを防ぎます。

  • このインターフェイスファイルは memcg ルートディレクトリには保存されません。

詳細については、「Memcg バックエンド非同期回収」をご参照ください。

はい

memory.wmark_low

読み取り専用インターフェイス。

  • memcg のメモリ使用量がこのインターフェイスの値を下回ると、バックエンドの非同期回収が終了します。

  • このインターフェイスの値は、次の数式を使用して計算されます: memory.wmark_low = memory.wmark_high-memory.limit_in_bytes × memory.wmark_scale_factor/10000。

  • このインターフェイスファイルは memcg ルートディレクトリには保存されません。

詳細については、「Memcg バックエンド非同期回収」をご参照ください。

はい

memory.wmark_scale_factor

memory.wmark_high 値と memory.wmark_low 値の間の間隔を指定します。単位: memcg メモリ上限の 0.01 パーセント。有効な値: 1 から 1000。

  • このインターフェイスは、インターフェイスが作成されるときに親グループの値を継承します。継承される値は 50 で、これは memcg メモリ上限の 0.50% を示します。これもデフォルト値です。

  • このインターフェイスファイルは memcg ルートディレクトリには保存されません。

詳細については、「Memcg バックエンド非同期回収」をご参照ください。

はい

memory.wmark_min_adj

memcg グローバル最小ウォーターマーク評価機能で使用される係数。

このインターフェイスの値は、グローバル最小ウォーターマークに対するパーセンテージでの調整を示します。有効な値: -25 から 50。

  • このインターフェイスは、インターフェイスが作成されるときに親 cgroup から値 0 を継承します。したがって、デフォルト値は 0 です。

  • 値の範囲内の負の値は、[0, WMARK_MIN] 範囲に対するパーセンテージでの調整です。ここで、WMARK_MIN はグローバル wmark_min の値です。たとえば、memory.wmark_min_adj が -25 の場合、memcg の WMARK_MIN は次の数式を使用して計算されます: memcg WMARK_MIN = WMARK_MIN + (WMARK_MIN - 0) × -25%。

  • 範囲内の正の値は、[WMARK_MIN, WMARK_LOW] 範囲に対するパーセンテージでの調整です。WMARK_MIN はグローバル wmark_min の値であり、WMARK_LOW はグローバル wmark_low の値です。

  • オフセットグローバル最小ウォーターマークがトリガーされると、スロットルが実行され、スロットル時間は超過メモリ使用量に線形比例します。スロットル時間の有効な値: 1 から 1000。単位: ミリ秒。

詳細については、「Memcg グローバル最小ウォーターマーク評価」をご参照ください。

はい

memory.force_empty

メモリページを強制的に回収するかどうかを指定します。

いいえ

N/A

memory.use_hierarchy

階層的な統計を収集するかどうかを指定します。

はい

N/A

memory.swappiness

vmscan の swappiness パラメーターを指定します。これは、カーネルがスワップ領域を使用する傾向を制御します。

いいえ

N/A

memory.priority

memcg の優先度を指定します。このインターフェイスは、ビジネスをソートするための 13 の memcg Out-Of-Memory (OOM) 優先度を提供します。有効な値: 0 から 12。値が大きいほど優先度が高くなります。親 cgroup の優先度は、その子孫 cgroup には継承されません。デフォルト値: 0。

  • このインターフェイスは memcg QoS を実装するために使用されます。優先度の値は、グローバル変数ではなく、同じ親 cgroup 内の兄弟 cgroup をソートするためにのみ使用されます。

  • 同じ優先度を持つ兄弟 memcg は、メモリ使用量によってソートされます。OOM エラーは、最も多くのメモリを消費する子 memcg でトリガーされます。

はい

memory.priority

memory.move_charge_at_immigrate

タスクが cgroup 間で移行されるときに、タスクの課金をタスクとともに移動するかどうかを指定します。これは統計的な制御ポリシーです。

いいえ

N/A

memory.oom_control

OOM エラーが発生したときに OOM キラーをトリガーしてタスクを終了し、OOM ステータスに関する通知を生成するかどうかを指定します。

いいえ

N/A

memory.oom.group

OOM エラーが発生した場合に memcg 内のすべてのタスクを終了できる OOM グループ機能を制御します。

はい

memory.oom.group

memory.pressure_level

メモリプレッシャー通知を指定します。

いいえ

N/A

memory.kmem.limit_in_bytes

カーネルのメモリ使用量の上限 (ハードリミット) を指定します。

いいえ

N/A

memory.kmem.usage_in_bytes

カーネルのメモリ使用量をクエリします。

いいえ

N/A

memory.kmem.failcnt

カーネルのメモリ使用量が上限に達した回数をクエリします。

いいえ

N/A

memory.kmem.max_usage_in_bytes

カーネルの最大メモリ使用量をクエリします。

いいえ

N/A

memory.kmem.slabinfo

カーネルのスラブメモリ使用量をクエリします。

いいえ

N/A

memory.kmem.tcp.limit_in_bytes

カーネルの TCP メモリ使用量の上限 (ハードリミット) を指定します。

いいえ

N/A

memory.kmem.tcp.usage_in_bytes

カーネルの TCP メモリ使用量をクエリします。

いいえ

N/A

memory.kmem.tcp.failcnt

カーネルの TCP メモリ使用量が上限に達した回数をクエリします。

いいえ

N/A

memory.kmem.tcp.max_usage_in_bytes

カーネルの最大 TCP メモリ使用量をクエリします。

いいえ

N/A

memory.memsw.usage_in_bytes

メモリ使用量とスワップメモリ使用量をクエリします。

いいえ

N/A

memory.memsw.max_usage_in_byte

メモリとスワップメモリの最大使用量をクエリします。

いいえ

N/A

memory.memsw.limit_in_bytes

cgroup 内のタスクが使用するメモリとスワップメモリの合計使用量の上限を指定します。

いいえ

N/A

memory.memsw.failcnt

メモリとスワップメモリの合計使用量が上限に達した回数をクエリします。

いいえ

N/A

memory.swap.high

cgroup で利用可能なスワップメモリ使用量の上限を指定します。

はい

memory.swap.high

memory.swap.events

スワップメモリ使用量が上限に達したときに発生するイベントをクエリします。

はい

memory.swap.events

memory.min

cgroup が保持しなければならない最小メモリ量を指定します。これはメモリのハード保証です。

詳細については、「cgroup v1 インターフェイスの Memcg QoS 機能」をご参照ください。

はい

memory.min

memory.low

cgroup が保持できるメモリの下限を指定します。これはメモリのソフト保証です。詳細については、「cgroup v1 インターフェイスの Memcg QoS 機能」をご参照ください。

はい

memory.low

memory.high

メモリ使用量のスロットル制限を指定します。詳細については、「cgroup v1 インターフェイスの Memcg QoS 機能」をご参照ください。

はい

memory.high

memory.allow_duptext

/sys/kernel/mm/duptext/enabled パラメーターがコード duptext 機能をグローバルに有効にするように構成されている場合、このインターフェイスは特定の memcg のタスクに対してコード duptext 機能を有効にするかどうかを制御するために使用されます。有効な値: 0 および 1。デフォルト値: 0。

  • 1: 特定の memcg のタスクに対してコード duptext 機能を有効にします。

  • 0: 特定の memcg のタスクに対してコード duptext 機能を無効にします。

詳細については、「コード duptext 機能」をご参照ください。

はい

memory.allow_duptext

memory.allow_duptext_refresh

バイナリファイルが生成またはダウンロードされたときに、コード duptext 機能がすぐに開始されるかどうかを指定します。コード duptext 機能は PageDirty または PageWriteback の場合には有効になりません。このインターフェイスは、PageDirty または PageWriteback のシナリオでコード duptext 機能が有効にならない場合に、非同期タスクモードを使用してタスクをリフレッシュします。

はい

memory.allow_duptext_refresh

memory.duptext_nodes

duptext メモリ割り当てノードを制限します。

はい

memory.duptext_nodes

memory.allow_text_unevictable

memcg スニペットがロックされているかどうかを指定します。

はい

memory.allow_text_unevictable

memory.text_unevictable_percent

ロックされた memcg コードスニペットによって使用されるメモリ量の、memcg コードによって使用される合計メモリ量に対する比率を指定します。

はい

memory.text_unevictable_percent

memory.thp_reclaim

Transparent Huge Pages (THP) 回収機能を制御します。有効な値:

  • reclaim: THP 回収機能を有効にします。

  • swap: 将来の使用のために予約されています。

  • disable: THP 回収機能を無効にします。

デフォルト値: disable。

詳細については、「THP 回収」をご参照ください。

はい

memory.thp_reclaim

memory.thp_reclaim_stat

THP 回収機能のステータスをクエリします。このインターフェイスのパラメーター:

  • queue_length: 各ノードのキュー内の THP の数。THP 回収機能が有効な場合、THP は回収キューに追加されます。

  • split_hugepage: 各ノードの THP 回収機能によって分割された THP の合計数。

  • reclaim_subpage: 各ノードの THP 回収機能によって回収されたゼロサブページの合計数。

前述のパラメーターの値は、NUMA ノード ID (node0、node1 など) の昇順で左から右にリストされます。

詳細については、「THP 回収」をご参照ください。

はい

memory.thp_reclaim_stat

memory.thp_reclaim_ctrl

THP 回収機能がどのようにトリガーされるかを指定します。このインターフェイスのパラメーター:

  • threshold: THP 内のゼロサブページの最大数。THP 内のゼロサブページの数がしきい値を超えると、THP 回収機能がトリガーされます。デフォルト値: 16。

  • reclaim: THP 回収機能をトリガーします。

詳細については、「THP 回収」をご参照ください。

はい

memory.thp_reclaim_ctrl

memory.thp_control

memcg THP 機能を制御します。このインターフェイスを使用して、anon、shmem、および file THP の適用を禁止できます。

たとえば、オフライン memcg は THP を使用できません。これにより、メモリの断片化は防げませんが、THP の競合とメモリの浪費を削減できます。

はい

memory.thp_control

memory.reclaim_caches

カーネルが memcg のキャッシュをプロアクティブに回収するかどうかを指定します。例: echo 100M > memory.reclaim_caches

はい

memory.reclaim_caches

memory.pgtable_bind

現在のノードでページテーブルメモリを強制的に適用するかどうかを指定します。

はい

memory.pgtable_bind

memory.pgtable_misplaced

ページメモリがノード間で割り当てられたときのページテーブル内のページメモリに関する統計をクエリします。

はい

memory.pgtable_misplaced

memory.oom_offline

Quick OOM 機能では、このインターフェイスを使用してオフラインタスクの memcg をマークできます。

はい

memory.oom_offline

memory.async_fork

memcg の Async-fork 機能 (以前は fast convergent merging (FCM) として知られていました) を制御します。

はい

memory.async_fork

memory.direct_compact_latency

memsli 機能の直接メモリ圧縮のレイテンシを指定します。

はい

memory.direct_compact_latency

memory.direct_reclaim_global_latency

memsli 機能の直接グローバルメモリ回収のレイテンシを指定します。

はい

memory.direct_reclaim_global_latency

memory.direct_reclaim_memcg_latency

memsli 機能の直接 memcg メモリ回収のレイテンシを指定します。

はい

memory.direct_reclaim_memcg_latency

memory.direct_swapin_latency

memsli 機能の直接メモリスワップインのレイテンシを指定します。

はい

memory.direct_swapin_latency

memory.direct_swapout_global_latency

memsli 機能の直接グローバルメモリスワップアウトのレイテンシを指定します。

はい

memory.direct_swapout_global_latency

memory.direct_swapout_memcg_latency

memsli 機能の直接 memcg メモリスワップアウトのレイテンシを指定します。

はい

memory.direct_swapout_memcg_latency

memory.exstat

拡張メモリと追加メモリに関する統計をクエリします。次の社内機能に関する統計が収集されます:

  • wmark_min_throttled_ms: オフセットグローバル最小ウォーターマークを超えてからのスロットル時間。

  • wmark_reclaim_work_ms: カーネルが cgroup からメモリを回収しようとする期間。

  • unevictable_text_size_kb: ロックされるコードスニペットのサイズ。

  • pagecache_limit_reclaimed_kb: ページキャッシュの制限。

詳細については、「Memcg Exstat 機能」をご参照ください。

自己開発の拡張

memory.exstat

memory.idle_page_stats

memcg の kidled メモリ使用量と cgroup の階層情報に関する統計をクエリします。

はい

memory.idle_page_stats

memory.idle_page_stats.local

memcg の kidled メモリ使用量に関する統計をクエリします。

はい

memory.idle_page_stats.local

memory.numa_stat

匿名、ファイル、およびロックされたメモリの NUMA 統計をクエリします。

いいえ

memory.numa_stat

memory.pagecache_limit.enable

ページキャッシュ制限機能を制御します。

詳細については、「ページキャッシュ制限機能」をご参照ください。

はい

memory.pagecache_limit.enable

memory.pagecache_limit.size

制限されたページキャッシュのサイズを指定します。

はい

memory.pagecache_limit.size

memory.pagecache_limit.sync

ページキャッシュ制限機能のモード (同期または非同期) を指定します。

はい

memory.pagecache_limit.sync

memory.reap_background

ゾンビ memcg リーパーがバックエンドの非同期方式で memcg のメモリを回収するかどうかを指定します。

はい

memory.reap_background

memory.stat

メモリ統計をクエリします。

いいえ

memory.stat

memory.use_priority_oom

memcg OOM 優先度ポリシー機能を制御します。

詳細については、「Memcg OOM 優先度ポリシー」をご参照ください。

はい

memory.use_priority_oom

memory.use_priority_swap

cgroup の優先度に基づいてメモリがスワップされるかどうかを指定します。

詳細については、「Memcg OOM 優先度ポリシー」をご参照ください。

はい

memory.use_priority_swap

cgroup v2 インターフェイス

インターフェイス名

目的

社内インターフェイス

対応する cgroup v1 インターフェイス

memory.current

メモリ使用量をクエリします。

いいえ

N/A

memory.min

cgroup が保持しなければならない最小メモリ量を指定します。これはメモリのハード保証です。

詳細については、「cgroup v1 インターフェイスの Memcg QoS 機能」をご参照ください。

いいえ

memory.min

memory.low

cgroup が保持できるメモリの下限を指定します。これはメモリのソフト保証です。

詳細については、「cgroup v1 インターフェイスの Memcg QoS 機能」をご参照ください。

いいえ

memory.low

memory.high

メモリ使用量の上限を指定します。

詳細については、「cgroup v1 インターフェイスの Memcg QoS 機能」をご参照ください。

いいえ

memory.high

memory.max

メモリ使用量のスロットル制限を指定します。

いいえ

memory.max

memory.swap.current

使用中のスワップメモリをクエリします。

いいえ

N/A

memory.swap.high

cgroup で利用可能なスワップメモリ使用量の上限を指定します。

いいえ

N/A

memory.swap.max

スワップメモリのハードリミットを指定します。

いいえ

N/A

memory.swap.events

スワップメモリ使用量が上限に達したときに発生するイベントをクエリします。

いいえ

N/A

memory.oom.group

OOM エラーが発生した場合に memcg 内のすべてのタスクを終了できる OOM グループ機能が有効になっているかどうかを指定します。

いいえ

memory.oom.group

memory.wmark_ratio

memcg バックエンド非同期回収機能を制御し、非同期回収をトリガーする memcg メモリウォーターマークを設定します。単位: memcg メモリ上限のパーセント。有効な値: 0 から 100。

  • デフォルト値は 0 で、memcg バックエンド非同期回収機能が無効になっていることを示します。

  • 値が 0 でない場合、memcg バックエンド非同期回収機能が有効になります。対応するウォーターマークを設定できます。

詳細については、「Memcg バックエンド非同期回収」をご参照ください。

はい

memory.wmark_ratio

memory.wmark_high

読み取り専用インターフェイス。

  • memcg のメモリ使用量がこのインターフェイスの値を超えると、バックエンドの非同期回収が開始されます。

  • このインターフェイスの値は、次の数式を使用して計算されます: memory.wmark_high = memory.limit_in_bytes × memory.wmark_ratio/100。

  • memcg バックエンド非同期回収機能が無効になっている場合、memory.wmark_high はデフォルトで大きな値になり、バックエンド非同期回収がトリガーされるのを防ぎます。

  • このインターフェイスファイルは memcg ルートディレクトリには保存されません。

詳細については、「Memcg バックエンド非同期回収」をご参照ください。

はい

memory.wmark_high

memory.wmark_low

読み取り専用インターフェイス。

  • memcg のメモリ使用量がこのインターフェイスの値を下回ると、バックエンドの非同期回収が終了します。

  • このインターフェイスの値は、次の数式を使用して計算されます: memory.wmark_low = memory.wmark_high-memory.limit_in_bytes × memory.wmark_scale_factor/10000。

  • このインターフェイスファイルは memcg ルートディレクトリには保存されません。

詳細については、「Memcg バックエンド非同期回収」をご参照ください。

はい

memory.wmark_low

memory.wmark_scale_factor

memory.wmark_high 値と memory.wmark_low 値の間の間隔を指定します。単位: memcg メモリ上限の 0.01 パーセント。有効な値: 1 から 1000。

  • このインターフェイスは、インターフェイスが作成されるときに親グループの値を継承します。継承される値は 50 で、これは memcg メモリ上限の 0.50% を示します。これもデフォルト値です。

  • このインターフェイスファイルは memcg ルートディレクトリには保存されません。

詳細については、「Memcg バックエンド非同期回収」をご参照ください。

はい

memory.wmark_scale_factor

memory.wmark_min_adj

memcg グローバル最小ウォーターマーク評価機能で使用される係数。

このインターフェイスの値は、グローバル最小ウォーターマークに対するパーセンテージでの調整を示します。有効な値: -25 から 50。

  • このインターフェイスは、インターフェイスが作成されるときに親 cgroup から値 0 を継承します。したがって、デフォルト値は 0 です。

  • 値の範囲内の負の値は、[0, WMARK_MIN] 範囲に対するパーセンテージでの調整です。ここで、WMARK_MIN はグローバル wmark_min の値です。たとえば、memory.wmark_min_adj が -25 の場合、memcg の WMARK_MIN は次の数式を使用して計算されます: memcg WMARK_MIN = WMARK_MIN + (WMARK_MIN - 0) × -25%。

  • 範囲内の正の値は、[WMARK_MIN, WMARK_LOW] 範囲に対するパーセンテージでの調整です。WMARK_MIN はグローバル wmark_min の値であり、WMARK_LOW はグローバル wmark_low の値です。

  • オフセットグローバル最小ウォーターマークがトリガーされると、スロットルが実行され、スロットル時間は超過メモリ使用量に線形比例します。スロットル時間の有効な値: 1 から 1000。単位: ミリ秒。

詳細については、「Memcg グローバル最小ウォーターマーク評価」をご参照ください。

はい

memory.wmark_min_adj

memory.priority

memcg の優先度を指定します。このインターフェイスは、ビジネスをソートするための 13 の memcg OOM 優先度を提供します。有効な値: 0 から 12。値が大きいほど優先度が高くなります。親 cgroup の優先度は、その子孫 cgroup には継承されません。デフォルト値: 0。

  • このインターフェイスは memcg QoS を実装するために使用されます。優先度の値は、グローバル変数ではなく、同じ親 cgroup 内の兄弟 cgroup をソートするためにのみ使用されます。

  • 同じ優先度を持つ兄弟 memcg は、メモリ使用量によってソートされます。OOM エラーは、最も多くのメモリを消費する子 memcg でトリガーされます。

詳細については、「Memcg OOM 優先度ポリシー」をご参照ください。

はい

memory.priority

memory.use_priority_oom

memcg OOM 優先度ポリシー機能を制御します。

詳細については、「Memcg OOM 優先度ポリシー」をご参照ください。

はい

memory.use_priority_oom

memory.use_priority_swap

cgroup の優先度に基づいてメモリがスワップされるかどうかを指定します。

詳細については、「Memcg OOM 優先度ポリシー」をご参照ください。

はい

memory.use_priority_swap

memory.direct_reclaim_global_latency

memsli 機能の直接グローバルメモリ回収のレイテンシを指定します。

はい

memory.direct_reclaim_global_latency

memory.direct_reclaim_memcg_latency

memsli 機能の直接 memcg メモリ回収のレイテンシを指定します。

はい

memory.direct_reclaim_memcg_latency

memory.direct_compact_latency

memsli 機能の直接メモリ圧縮のレイテンシを指定します。

はい

memory.direct_compact_latency

memory.direct_swapout_global_latency

memsli 機能の直接グローバルメモリスワップアウトのレイテンシを指定します。

はい

memory.direct_swapout_global_latency

memory.direct_swapout_memcg_latency

memsli 機能の直接 memcg メモリスワップアウトのレイテンシを指定します。

はい

memory.direct_swapout_memcg_latency

memory.direct_swapin_latency

memsli 機能の直接メモリスワップインのレイテンシを指定します。

はい

memory.direct_swapin_latency

memory.exstat

拡張メモリと追加メモリに関する統計をクエリします。次の社内機能に関する統計が収集されます:

  • wmark_min_throttled_ms: オフセットグローバル最小ウォーターマークを超えてからのスロットル時間。

  • wmark_reclaim_work_ms: カーネルが cgroup からメモリを回収しようとする期間。

  • unevictable_text_size_kb: ロックされるコードスニペットのサイズ。

  • pagecache_limit_reclaimed_kb: ページキャッシュの制限。

詳細については、「Memcg Exstat」をご参照ください。

はい

memory.exstat

memory.pagecache_limit.enable

ページキャッシュ制限機能を制御します。

詳細については、「ページキャッシュ制限機能」をご参照ください。

はい

memory.pagecache_limit.enable

memory.pagecache_limit.size

制限されたページキャッシュのサイズを指定します。

詳細については、「ページキャッシュ制限機能」をご参照ください。

はい

memory.pagecache_limit.size

memory.pagecache_limit.sync

ページキャッシュ制限機能のモード (同期または非同期) を指定します。

詳細については、「ページキャッシュ制限機能」をご参照ください。

はい

memory.pagecache_limit.sync

memory.idle_page_stats

各階層の個々の memcg の kidled メモリに関する統計をクエリします。

はい

memory.idle_page_stats

memory.idle_page_stats.local

個々の memcg の kidled メモリに関する統計をクエリします。

はい

memory.idle_page_stats.local

memory.numa_stat

匿名、ファイル、およびロックされたメモリの NUMA 統計をクエリします。

はい

memory.numa_stat

memory.reap_background

ゾンビ memcg リーパーがバックエンドの非同期方式で memcg のメモリを回収するかどうかを指定します。

はい

memory.reap_background

memory.stat

メモリ統計をクエリします。

いいえ

memory.stat

memory.use_priority_oom

memcg OOM 優先度ポリシー機能を制御します。

詳細については、「Memcg OOM 優先度ポリシー」をご参照ください。

はい

memory.use_priority_oom

cpuacct

インターフェイス名

目的

社内インターフェイス

対応する cgroup v2 インターフェイス

cpuacct.usage

使用された合計 CPU 時間をクエリします。単位: ナノ秒。

いいえ

cpu.stat、同様のデータを表示

cpuacct.usage_user

ユーザーモードで使用された CPU 時間をクエリします。単位: ナノ秒。

いいえ

cpuacct.usage_sys

カーネルモードで使用された CPU 時間をクエリします。単位: ナノ秒。

いいえ

cpuacct.usage_percpu

各 CPU の使用時間をクエリします。単位: ナノ秒。

いいえ

cpuacct.usage_percpu_user

ユーザーモードでの各 CPU の使用時間をクエリします。単位: ナノ秒。

いいえ

cpuacct.usage_percpu_sys

カーネルモードでの各 CPU の使用時間をクエリします。単位: ナノ秒。

いいえ

cpuacct.usage_all

cpuacct.usage_percpu_user および cpuacct.usage_percpu_sys インターフェイスの概要をクエリします。単位: ナノ秒。

いいえ

cpuacct.stat

ユーザーモードとカーネルモードで使用された CPU 時間をクエリします。単位: tick。

いいえ

cpuacct.proc_stat

コンテナーレベルでの CPU 時間、平均負荷 (loadavg)、実行中のタスク数などのデータをクエリします。

はい

cpuacct.enable_sli

コンテナーレベルで loadavg をカウントするかどうかを制御します。

はい

N/A

cpuacct.sched_cfs_statistics

cgroup のランタイムや、同じレベルまたは異なるレベルの cgroup の待機時間など、CFS に関する統計をクエリします。

はい

cpu.sched_cfs_statistics

cpuacct.wait_latency

キューで待機しているタスクのレイテンシをクエリします。

はい

cpu.wait_latency

cpuacct.cgroup_wait_latency

キューで待機している cgroup のレイテンシをクエリします。wait_latency インターフェイスはタスク SE のレイテンシをカウントし、cgroup_wait_latency インターフェイスはグループ SE のレイテンシをカウントします。

はい

cpu.cgroup_wait_latency

cpuacct.block_latency

非 I/O 原因でブロックされたタスクのレイテンシをクエリします。

はい

cpu.block_latency

cpuacct.ioblock_latency

I/O 操作が原因でブロックされたタスクのレイテンシをクエリします。

はい

cpu.ioblock_latency

io.pressure

I/O パフォーマンス、メモリ、および CPU の PSI をクエリします。この情報はポーリングできます。詳細については、次のトピックをご参照ください。

いいえ

N/A

memory.pressure

いいえ

cpu.pressure

いいえ

freezer

インターフェイス名

目的

社内インターフェイス

対応する cgroup v2 インターフェイス

freezer.state

凍結ステータスを制御します。有効な値: FROZEN および THAWED

いいえ

cgroup.freeze

freezer.self_freezing

cgroup が自身の凍結ステータスのために凍結されているかどうかをクエリします。

いいえ

N/A

freezer.parent_freezing

cgroup がその祖先が凍結されているために凍結されているかどうかをクエリします。

いいえ

N/A

ioasids

ioasids サブシステムの cgroup v1 インターフェイスと cgroup v2 インターフェイスは同じです。

インターフェイス名

目的

社内インターフェイス

ioasids.current

現在の cgroup に割り当てられている ioasid の数をクエリします。

はい

ioasids.events

割り当て可能な ioasid の上限を超えたために発生したイベントの数をクエリします。

はい

ioasids.max

現在の cgroup に割り当てることができる ioasid の総数をクエリします。

はい

net_cls and net_prio

インターフェイス名

目的

社内インターフェイス

対応する cgroup v2 インターフェイス

net_cls.classid

現在の cgroup のネットワークパケットにタグを付けるクラス識別子を指定します。このインターフェイスは qdisc または iptable と連携します。

いいえ

N/A

説明

対応するインターフェイスは cgroup v2 から削除されました。ebpf を使用してトラフィックをフィルターおよびシェーピングできます。

net_prio.prioidx

データ構造内の現在の cgroup のインデックス値をクエリします。このインターフェイスは読み取り専用で、カーネルによって内部的に使用されます。

いいえ

net_prio.ifpriomap

各ネットワークインターフェイスコントローラー (NIC) のネットワーク優先度値を指定します。

いいえ

perf_event

perf_event サブシステムはインターフェイスを提供しません。perf_event サブシステムは cgroup v2 でデフォルトで有効になっており、cgroup v1 の perf_event サブシステムと同じ機能を提供します。

pids

pids サブシステムの cgroup v1 インターフェイスと cgroup v2 インターフェイスは同じです。

インターフェイス名

目的

社内インターフェイス

pids.max

cgroup 内のタスクの最大数を指定します。

いいえ

pids.current

cgroup 内の現在のタスク数をクエリします。

いいえ

pids.events

サポートされるタスクの最大数に達したために fork 操作が失敗したイベントの数をクエリします。fsnotify ライブラリは、イベントに関するファイルシステム通知を提供するためにサポートされています。

いいえ

rdma

rdma サブシステムの cgroup v1 インターフェイスと cgroup v2 インターフェイスは同じです。

インターフェイス名

目的

社内インターフェイス

rdma.max

Remote Direct Memory Access (RDMA) アダプターのリソース使用量の上限を指定します。

いいえ

rdma.current

RDMA アダプターのリソース使用量をクエリします。

いいえ