ubuntu cpu使用率Ubuntuでのシステムリソース監視完全ガイド:CPU使用率からメモリ管理までubuntu cpu使用率

この記事は約4分で読めます。
スポンサーリンク

システム管理者やUbuntuユーザーのための、リソース監視と管理の包括的なガイドです。

CPU使用率の確認方法

topコマンドによる確認

最も基本的なリソース監視コマンドです。

$ top

topコマンドの出力の見方上部セクション:

  • top: 現在時刻、稼働時間、ユーザー数、負荷平均を表示
  • Tasks: 全プロセス数、実行中、スリープ中、停止、ゾンビプロセスの数
  • %Cpu(s): CPU使用状況の内訳
    • us: ユーザープロセスの使用率
    • sy: システムプロセスの使用率
    • id: アイドル状態の割合
    • wa: I/O待ち時間の割合

プロセス一覧(下部)の主要列:

列名説明
PIDプロセスID
USER実行ユーザー
PR優先度
NINice値(優先度の調整値)
VIRT仮想メモリ使用量
RES実メモリ使用量
SHR共有メモリ量
Sプロセスの状態
%CPUCPU使用率
%MEMメモリ使用率

htopコマンドによる確認

# インストール
$ sudo apt install htop

# 実行
$ htop

htopの画面の見方

上部バー:

  • CPU使用率: 各コアごとの使用率をバーグラフで表示
  • メモリバー: 使用中、バッファ、キャッシュの内訳
  • スワップバー: 使用率をビジュアル表示

機能キー(画面下部):

  • F1: ヘルプ
  • F3: 検索
  • F4: フィルター
  • F5: ツリー表示
  • F6: ソート
  • F9: プロセスへのシグナル送信

vmstatコマンドによる確認

# 60秒間隔で60回測定
$ vmstat 60 60

vmstatの出力の見方

セクション列名説明
procsr実行待ちプロセス数
b割り込み不可能なスリープ状態のプロセス数
memoryswpd使用中のスワップ容量
free空きメモリ量
buffバッファに使用されているメモリ量
swapsiスワップイン量/秒
soスワップアウト量/秒
iobiブロックIN操作量
boブロックOUT操作量
cpuusユーザー時間の割合
syシステム時間の割合
idアイドル時間の割合

メモリとスワップの管理

メモリ使用状況の確認

$ free -h

free コマンドの出力の見方

説明
total総メモリ量
used使用中のメモリ量
free空きメモリ量
shared共有メモリ量
buff/cacheバッファとキャッシュに使用されているメモリ量
available新しいプロセスに利用可能なメモリ量

スワップ領域の追加と管理

  1. スワップファイルの作成:
$ sudo fallocate -l 2G /swapfile
$ sudo chmod 600 /swapfile
  1. スワップ領域の有効化:
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
  1. 永続化設定:
$ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

スワップ使用率の確認

$ swapon --show

システムパフォーマンスの最適化

高負荷時の対処法

  1. プロセス優先度の調整:
# プロセスの優先度を下げる(nice値を上げる)
$ sudo renice 10 -p [PID]
  1. リソース制限の設定:
# プロセスのCPU使用率を制限
$ cpulimit -p [PID] -l 50

メモリ管理のベストプラクティス

  • バッファ/キャッシュが大きい場合は sync コマンドで解放
  • スワップ使用率が50%を超える場合はメモリ増設を検討
  • 定期的な vmstat でI/Oボトルネックを監視

トラブルシューティング

  • CPU使用率が90%以上: プロセスの優先度調整や不要プロセスの終了
  • スワップ頻発: メモリ増設やプロセス数の削減を検討
  • I/O待ち時間が高い: ディスクI/Oの最適化やSSDへの移行を検討

まとめ

システムのパフォーマンスを最適に保つためには、定期的なモニタリングと適切な対処が重要です。各コマンドの特徴を理解し、状況に応じて使い分けることで、効率的なシステム管理が可能になります。

コメント

タイトルとURLをコピーしました