Linuxサーバーのワークロード最適化のためのチューニング・プロファイル
16分で読めます - 2026年6月9日

GPU、データベース、高帯域幅 Linux サーバー用の調整済みプロファイルの選択、適用、カスタマイズ方法について、例と Ansible 導入のヒントを示します。
プロファイルの調整方法
プロファイルとは、 /usr/lib/tuned/profiles/ (system) または /etc/tuned/profiles/ (custom) 配下のディレクトリであり、 tuned.conf ファイルが含まれています。この設定ファイルは、プラグインごとにパラメータをグループ化しています: [cpu], [disk], [sysctl], [vm], [bootloader]など。プロファイルを有効にすると、tunedデーモンは数十個の sysctl コマンドを sysfs コマンドを個別に実行するのではなく、すべてのパラメータを一括で適用します。
プロファイルは、 include ディレクティブを使用して、プロファイルは互いに継承できます。例えば、 throughput-performance profileは、例えば、 vm.swappiness Transparent Huge Pages設定のみを上書きするカスタムデータベースプロファイルのベースとして機能します。
tunedには2つのモードがあります。静的チューニングは、起動時に一度プロファイルを適用した後、システムに干渉しません。これは、省電力よりも一貫性が重視される本番サーバーに適しています。動的チューニングは、ディスク、ネットワーク、および負荷の使用状況をリアルタイムで監視し、設定をその場で調整します。パフォーマンスプロファイルは、監視によるオーバーヘッドを避けるため、デフォルトで動的チューニングを無効にします。
ワークロードに適したプロファイルの選択
tunedは、一般的なワークロードのほとんどをカバーする12種類のプロファイルを提供しています。デフォルトのプロファイルをそのまま使用するのではなく、サーバーの実際の用途に合ったものを選択してください balanced プロファイルをそのままにしないでください。
| ワークロード | プロファイル | 用途 |
|---|---|---|
| GPUトレーニングおよび推論 | accelerator-performance | CPUを低Cステートに固定し、CPUからGPUへのレイテンシを100µs未満に抑える |
| データベース(Postgres、MySQL、Redis) | throughput-performance | 省電力機能を無効化し、ディスクおよびネットワークI/Oを最適化し、Transparent Huge Pagesを無効化 |
| 高帯域幅ネットワーク(CDN、レプリケーション、データパイプライン) | network-throughput | 持続的な高帯域幅転送のためにカーネルネットワークバッファを拡大 |
| レイテンシに敏感なサービス | network-latency または latency-performance | CPUガバナーを performanceに固定し、ディープCステートを無効化 |
| HPCおよびコンピュートクラスタ | hpc-compute | NUMAおよびメモリのチューニングによるレイテンシとパフォーマンスの最適化 |
| VPSインスタンス(ゲストOS) | virtual-guest | スワップ率を下げ、準仮想化I/Oのディスク・リードアヘッドを増やす |
| KVMハイパーバイザーホスト | virtual-host | VMワークロード向けにダーティページのライトバックを調整 |
| 混合または不明 | balanced | デフォルト。パフォーマンスと電力効率のバランスを調整 |
特定のデータベースエンジン向けに、tunedには以下の機能も含まれています postgresql, mssql、および oracle それらのエンジン向けに共有メモリやカーネルスケジューラパラメータを調整することで、 throughput-performance 、それらのエンジン向けに共有メモリやカーネルスケジューラのパラメータを調整することで、さらに高度な最適化を行うプロファイルも提供されます。
マルチソケットサーバーでは、NUMAトポロジーが重要になります。リモートノードへのメモリアクセスは、ローカルアクセスに比べて2~3倍遅くなる場合があります。デュアルソケットマシンでレイテンシが重要なワークロードを実行する場合は、プロファイルで自動NUMAバランス調整を無効にし、プロセスを特定のノードに手動で固定してください。
プロファイルのインストールと適用
RHEL、Rocky、AlmaLinux、またはFedoraにtunedをインストールして適用するには:
dnf install tuned
systemctl enable --now tunedDebianおよびUbuntuでは、パッケージ名は tuned と呼ばれ、 aptでインストールします。もし power-profiles-daemon が既に実行中の場合は、競合を避けるためにマスクしてください:
systemctl mask --now power-profiles-daemon利用可能なプロファイルを一覧表示し、ハードウェアに対して tuned が推奨するプロファイルを尋ね、プロファイルを適用し、確認します:
tuned-adm list
tuned-adm recommend
tuned-adm profile throughput-performance
tuned-adm verifyアクティブなプロファイルは /etc/tuned/active_profile に保存され、再起動後も維持されます。チューニングを完全に解除してベースラインを測定するには、以下を実行します tuned-adm off.
AI、ML、および高帯域幅ワークロード向けのカスタムプロファイルの作成
標準プロファイルで要件の90%を満たせる場合は、最も近いプロファイルを継承し、残りのパラメータを上書きするカスタムプロファイルを作成してください。ディレクトリと設定ファイルから始めます:
mkdir -p /etc/tuned/ai-gpu
cat > /etc/tuned/ai-gpu/tuned.conf <<'EOF'
[main]
summary=Custom profile for GPU training with high-bandwidth networking
include=accelerator-performance
[cpu]
governor=performance
[sysctl]
kernel.numa_balancing=0
net.core.rmem_max=268435456
net.core.wmem_max=268435456
net.ipv4.tcp_rmem=4096 87380 268435456
net.ipv4.tcp_wmem=4096 65536 268435456
[vm]
transparent_hugepages=never
[bootloader]
cmdline=hugepagesz=2M hugepages=16384 <a target="_blank" rel="noopener noreferrer" href="https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit">iommu</a>=pt
EOF
tuned-adm profile ai-gpuここで重要な設定は以下の通りです:
numa_balancing=0トレーニング実行中にカーネルがソケット間でメモリを移動するのを停止します。これはデュアルソケットGPUシステムにおける処理停止の一般的な原因です。- The
rmem_maxおよびtcp_rmemの値は、ソケットバッファの上限を256MBに引き上げます。トレーニングノード間の25G、40G、または100Gインターコネクトでは、デフォルトのバッファサイズではスループットがラインレートを大幅に下回ってしまいます。 transparent_hugepages=neverは、大規模なテンソルを割り当てるPyTorchやTensorFlowのようなフレームワークにおいて、THPが引き起こすレイテンシのジッターを解消します。iommu=ptは、IOMMUをパススルーモードに設定します。これは、GPUおよびNICのパススルーに必要であり、ベアメタルDMAのオーバーヘッドを低減します。
以下は [bootloader] は再起動が必要です。プロファイルを有効にした後、 tuned-adm verify を実行してランタイムパラメータが適用されたことを確認し、 journalctl -u tuned エラーがないか確認します。 iostat -xz, numastatおよび関連するワークロードツール(iperf3, fio、または実際のトレーニング実行)を使用してベンチマークを実行してください。
明確にしておくべきトレードオフとして、CPUのセキュリティ緩和策を無効にすると、GPUワークロードでは約3~8%のパフォーマンス向上が見込めますが、システムコールの頻度が高いワークロードでは15~30%のパフォーマンス低下を招きます。対象システムの脅威モデルに基づいて判断してください。ファイアウォール内の専用トレーニングクラスタ内では、通常、これらを無効にする方が有利です。 マルチテナントホスト上では、有効なままにしておいてください。
サーバー群全体でのプロファイル管理
手動での tuned の適用は、サーバーが数台を超えると現実的ではなくなります。Ansible ならこれをスムーズに処理できます。1つのプレイブックで tuned をインストールし、 /etc/tuned/ 経由で template モジュール経由で適切なプロファイルを適用します。
プロファイルをインベントリ内のロールにマッピングする:
- GPUおよびAIノード:
accelerator-performance、またはそれを継承するカスタムプロファイル - データベースサーバー:
throughput-performanceまたはエンジン固有のプロファイル - 高帯域幅トラフィックを送信するCDNおよびエッジノード:
network-throughput - ロードバランサーの背後にあるAPIおよびWebサーバー:
network-latency - VPSおよびKVMゲスト:
virtual-guest - ハイパーバイザーホスト:
virtual-host
設定のずれこそが、真の運用上の問題です。手動による sysctl 変更、新しいデフォルト設定を含むパッケージのアップグレード、あるいは別の構成管理ツールがtunedに干渉するなど、これらすべてがプロファイルの設定内容との乖離を引き起こします。Ansibleジョブをスケジュールして実行するようにしてください tuned-adm active 、 tuned-adm verify 実行するようにスケジュールし、失敗した場合はアラートを出します。「Verification failed」という行がないか /var/log/tuned/tuned.log 「Verification failed」という行がないか確認してください。
結論
tunedは、カーネルやsysctlのチューニングにおける推測作業の大部分を排除します。デフォルト設定は一般的な用途には十分であり、 accelerator-performance, throughput-performance、および network-throughput を使用すれば、設定ファイルを1つたりとも記述することなく、最適化の大部分を達成できます。
- 最も近い標準プロファイルを選び、
tuned-adm verifyを実行し、ベンチマークを実行してください - 標準プロファイルを継承し、必要な部分のみを上書きしてカスタムプロファイルを作成してください
- GPU や高帯域幅のマシンでは、NUMA バランス、hugepages、ネットワークバッファサイズについて慎重に検討してください
- Ansibleを使用してデプロイし、スケジュールに従って監査を行い、ドリフトを捕捉する
これらの設定を実際に活用するための帯域幅の余裕を備えたベアメタル環境が必要ですか?高スループットおよびGPUワークロード向けに構築された専用サーバーについては、FDCにご相談ください。

Linuxサーバーのワークロード最適化のためのチューニング・プロファイル
GPU、データベース、高帯域幅 Linux サーバー用の調整済みプロファイルの選択、適用、カスタマイズ方法について、例と Ansible 導入のヒントを示します。
16分で読めます - 2026年6月9日
Linux OOM Killer Tuning for VPS: 実践ガイド
12分で読めます - 2026年6月8日

ご質問またはカスタムソリューションが必要ですか?
柔軟なオプション
グローバル・リーチ
即時展開
柔軟なオプション
グローバル・リーチ
即時展開