そのようなとき、見落とされがちなのがOSのパフォーマンスプロファイル設定です。RHEL・Rocky Linux・AlmaLinuxには、ワークロードに合わせてカーネルパラメータ・I/Oスケジューラ・CPUガバナーを一括調整してくれるtunedというデーモンが標準搭載されています。
この記事では、tuned-admコマンドの基本操作から、throughput-performance・latency-performance・virtual-guestなど代表的なプロファイルの特徴と使い分け、設定が効かない時のトラブルシュートまでを、RHEL 9.4 / Rocky Linux 9.4の実機出力を交えて解説します。
この記事のポイント
・tuned-adm profileコマンド1行でパフォーマンスプロファイルを切り替えられる
・スループット重視はthroughput-performance、レイテンシ重視はlatency-performance
・仮想マシン内ではvirtual-guestを選ばないと逆にパフォーマンスが低下することがある
・tuned-adm verifyで設定が実際に適用されているかを確認できる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
なぜLinuxはデフォルトのままではパフォーマンスが最適化されていないのか?
Linuxカーネルは汎用に設計されているため、デスクトップPCでも組み込みシステムでもサーバーでも動作します。その反面、すべてのワークロードを「そこそこ」こなせるチューニングになっており、特定の用途には最適化されていません。tunedはRed Hat社が開発したシステムチューニングフレームワークです。ワークロードの種類に応じてカーネルパラメータ・CPUガバナー・I/Oスケジューラをプロファイルという単位にまとめ、コマンド1行で切り替えられる仕組みを提供します。個別のsysctl設定を手作業で変更する手間を大幅に省けます。
RHEL 9・Rocky Linux 9ではtunedはデフォルトでインストール・起動されています。しかしプロファイルはbalanced(汎用設定)のまま放置されているケースが多く、ワークロードに合わせた最適化の余地があります。
tuned-admの基本操作
実行環境: RHEL 9.4 / Rocky Linux 9.4で動作確認済み1. tunedサービスの状態を確認する
まずtunedデーモンが動いているかを確認します。# check tuned service status $ systemctl status tuned * tuned.service - Dynamic System Tuning Daemon Loaded: loaded (/usr/lib/systemd/system/tuned.service; enabled; preset: enabled) Active: active (running) since Mon 2026-08-05 09:00:14 JST; 2h 15min ago Docs: man:tuned(8) Main PID: 1012 (tuned) Tasks: 4 (limit: 22901) Memory: 13.2M CGroup: /system.slice/tuned.service └─1012 /usr/bin/python3 -Es /usr/sbin/tuned -l -P
Active: active (running)と表示されれば正常です。tunedが起動していない場合は以下で有効化します。# enable and start tuned (also persists after reboot) $ sudo systemctl enable --now tuned Created symlink /etc/systemd/system/multi-user.target.wants/tuned.service ...
2. 現在のプロファイルを確認する
$ tuned-adm active Current active profile: balanced
3. 利用可能なプロファイル一覧を表示する
$ tuned-adm list Available profiles: - accelerator-performance - Throughput performance based tuning with disabled higher latency STOP states - balanced - General non-specialized tuned profile - desktop - Optimize for the desktop use case - hpc-compute - Optimize for HPC compute workloads - latency-performance - Optimize for deterministic performance at the cost of increased power consumption - network-latency - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance - network-throughput - Optimize for streaming network throughput, generally only necessary on older CPUs or 10G+ networks - powersave - Spin down storage devices, lower wakeups - throughput-performance - Broadly applicable tuning that provides excellent performance across a variety of common server workloads - virtual-guest - Optimize for running inside a virtual guest. - virtual-host - Optimize for running KVM guests Current active profile: balanced
4. プロファイルを切り替える
$ sudo tuned-adm profile throughput-performance $ tuned-adm active Current active profile: throughput-performance
5. 推奨プロファイルを自動提案させる
tuned-admには現在の環境に最適なプロファイルを推薦する機能があります。$ tuned-adm recommend throughput-performance
recommendで確認してから適用するのが安全です。主要プロファイルの特徴と使い分け
RHELシステムで日常的に使う代表的なプロファイルを解説します。throughput-performance(スループット優先)
データベースサーバー・バッチ処理・大量ファイル転送など、ネットワークやディスクのスループットを最大化したい場面で使います。主な設定内容:・CPUガバナーをperformanceに設定(クロック周波数を最大値に固定)
・I/OスケジューラをMQ-Deadlineに変更(ディスクスループット向上)
・透過的ヒュージページ(THP)を有効化してメモリアクセス効率向上
・ネットワークバッファサイズを拡大(net.core.rmem_maxなど)
$ sudo tuned-adm profile throughput-performance $ tuned-adm active Current active profile: throughput-performance
latency-performance(レイテンシ優先)
リアルタイム処理・トレーディングシステム・APIレスポンスの安定性が重要なサーバーに使います。throughput-performanceとの大きな違いは、スループットよりも応答遅延の安定性を優先する点です。・CPUガバナーをperformanceに設定
・透過的ヒュージページを無効化(THPはアロケーション時にレイテンシが跳ねる原因になるため)
・電源管理系のC-stateを無効化してCPUの応答を安定化
$ sudo tuned-adm profile latency-performance $ tuned-adm active Current active profile: latency-performance
【注意】virtual-guest(仮想マシン内での動作向け)
AWS EC2・VMware・KVM上のゲストOSとして動かすLinuxに使います。ハイパーバイザーとのリソース共有を前提に、不要なカーネル設定を減らして仮想デバイスとの相性を最適化します。・透過的ヒュージページをmadviseに設定(ホスト側THPと干渉しない設定)
・ディスクのread-aheadを仮想ディスク向けに調整
・仮想デバイスドライバ向けに割り込みチューニング
$ sudo tuned-adm profile virtual-guest $ tuned-adm active Current active profile: virtual-guest
virtual-host(KVMホスト向け)
KVMハイパーバイザーとして動かすホストLinuxに使います。ゲストOSのCPUスケジューリング効率を上げるためのチューニングが含まれています。KVMサーバーを構築する際は、ホスト側にvirtual-hostを、ゲスト側にvirtual-guestをそれぞれ適用するのが基本構成です。balanced(バランス型・デフォルト)
省電力と性能のバランスを取るデフォルトプロファイルです。特定のワークロードに特化しない汎用設定のため、開発環境・テスト環境・用途が定まっていないサーバーに適しています。本番サーバーに適用する場合は、ワークロードに合わせてthroughput-performanceかlatency-performanceへの変更を検討してください。tuned-admが効かない時のトラブルシュート
「Cannot talk to tuned daemon」エラーが出る場合
tunedサービスが停止しています。$ tuned-adm active Cannot talk to tuned daemon! # start and enable tuned service $ sudo systemctl start tuned $ sudo systemctl enable tuned $ tuned-adm active Current active profile: throughput-performance
プロファイルを変更しても効果が見えない場合
まずtuned-adm verifyで設定が実際に適用されているかを確認します。$ sudo tuned-adm verify Verification succeeded, current settings match the preset profile.
/etc/sysctl.d/の設定ファイルとtunedの設定が競合していないかを確認してください。透過的ヒュージページの適用状況は以下で確認できます。
# check transparent hugepage setting $ cat /sys/kernel/mm/transparent_hugepage/enabled always [madvise] never # 角括弧[]が現在の設定。madviseはvirtual-guestプロファイルが適用されている状態
再起動後にプロファイルが戻る場合
tunedサービスがenableになっていないか確認します。$ systemctl is-enabled tuned disabled $ sudo systemctl enable tuned Created symlink /etc/systemd/system/multi-user.target.wants/tuned.service ...
systemctl enable --now tunedとすれば起動と永続化を同時に行えます。特定のプロファイルが見当たらない場合
パッケージが未インストールの可能性があります。# install tuned and additional profiles (RHEL/Rocky Linux/AlmaLinux) $ sudo dnf install tuned tuned-profiles-cpu-partitioning # restart tuned after installation $ sudo systemctl restart tuned $ tuned-adm list
本記事のまとめ
tuned-admコマンドの主要操作をまとめます。| やりたいこと | コマンド |
|---|---|
| 現在のプロファイルを確認 | tuned-adm active |
| 利用可能なプロファイル一覧 | tuned-adm list |
| 推奨プロファイルを確認 | tuned-adm recommend |
| プロファイルを切り替える | sudo tuned-adm profile throughput-performance |
| 設定の適用確認 | sudo tuned-adm verify |
| tunedを有効化して起動 | sudo systemctl enable --now tuned |
tuned-admは1コマンドでサーバーのパフォーマンスプロファイルを切り替えられる、実務で非常に役立つツールです。ワークロードの特性に合わせて選んでください。
・バッチ処理・データベース・ファイル転送が多い → throughput-performance
・APIレスポンスの安定性・低レイテンシが重要 → latency-performance
・AWS EC2・VMware・KVM仮想マシン内で動かす → virtual-guest
・KVMハイパーバイザーのホストOS → virtual-host
プロファイルを切り替えた後は
tuned-adm verifyで適用確認を忘れずに行いましょう。なお、サーバーのハードウェアスペックを把握してからプロファイルを選定するとより効果的です。dmidecode でハードウェア情報を取得すると、CPU・メモリ・ディスク構成を確認できます。チューニング後のシステム起動時間の変化はsystemd-analyze で起動時間計測してみてください。
tuned-admでチューニングできたら、次はサーバー全体の構築・運用スキルを体系的に固めませんか?
ネットの断片情報をつなぎ合わせるだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 次のページへ:pmapコマンドでLinuxプロセスのメモリマップを確認する方法|メモリリーク調査とOOM対策の実践手順
- 前のページへ:cryptsetupコマンドでLinuxのディスクをLUKS暗号化する方法|追加ボリュームの暗号化から自動マウントまで
- この記事の属するカテゴリ:Linuxtipsへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます