「Linux」システムの速度低下の原因特定に役立つコマンド5選

今回は「「Linux」システムの速度低下の原因特定に役立つコマンド5選」についてご紹介します。

関連ワード (Linuxノウハウ、特集・解説等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


 「Linux」デスクトップの動作が遅くなることはめったにない。しかし、絶対に起きないと言えば、うそになる。システムの速度が低下しても、ほとんどの場合、筆者は問題を引き起こしている特定のアプリケーションを突き止めることができる(「VirtualBox」が原因であることが多い)。ただし、ハードドライブのボトルネックに起因する問題を経験したこともある。

 本記事では、いくつかのコマンドを使用して、ハードウェア関連のボトルネックを特定する方法を紹介する。

 このコマンドは、デバイスとパーティションの両方について、CPUとI/O(入出力)の統計情報を報告する。iostatを使用すると、デバイスがアクティブな時間を平均転送速度と比較して監視することで、デバイスの負荷を監視できる。このコマンドが生成するレポートは、システムを設定して、最適なパフォーマンスを引き出したいときに役立つ。iostatには、重視すべき3つの項目がある。

 注意点が1つある。iostatはすべてのデバイス(ループバックも含む)を表示する。ほとんどの場合、注意すべきなのは、nvme、sdX(Xは文字)、zramといったタイプのデバイスだ。

 iostatは、デフォルトではシステムにインストールされていない可能性がある。インストールされていない場合は、以下のようなコマンドで「sysstat」アプリケーションをインストール可能だ。

 iotopコマンドはiostatに似ているが、静的なレポートではなく、リアルタイムのレポートを生成する。iotopはtopコマンドに似ているが、topがソフトウェアとサービスに関する統計情報を表示するのに対し、iotopはプロセスとディスクアクティビティーを表示する。過剰なシステムリソースを使用しているプロセスがある場合、そのプロセスが問題を引き起こしている可能性が高い。

 iotopアプリケーションは、sudo権限で実行する必要がある。実行すると、「TID」(スレッドID)、「PRIO」(プロセス優先度)、「User」(ユーザー)、「Disk Read」(ディスク読み取り速度)、「Disk Write」(ディスク書き込み速度)、「SwapIn」(スワップイン)、「IO Priority」(IO優先度)、「Command」(コマンド)の列が表示される。確認すべき最も重要な3つの情報は、「Disk Read」「Disk Write」「IO Priority」だ。「Disk Read」や「Disk Write」の値が高いプロセスがある場合は、それが問題の原因である。多くのI/Oリソースを使用しているプロセスがある場合は(「IO Priority」)、ioniceコマンドを使用して(プロセスのI/Oスケジューリングクラスと優先度を設定または取得するため)、そのプロセスの優先度を調整した方がいいだろう。

 UbuntuまたはFedoraベースのディストリビューションにiotopをインストールするには、以下のコマンドを使用する。

 dstatもシステムリソース(特にディスクI/O)の使用状況を監視するためのコマンドだ。iostatと同じくらい詳細な情報を、iotopのようにリアルタイムに報告するという点で、dstatはiotopとiostatを組み合わせたようなコマンドである。確認すべき最も重要な情報は、「Disk Read/Write」(ディスク読み取り/書き込み)(一貫して大量のアクティビティーがある場合は、それが問題の原因かもしれない)と「Disk Await」(ディスクの待ち時間:個々のI/O操作が完了するまでの時間。数値が高い場合は、ボトルネックが発生している)だ。

 UbuntuまたはFedoraベースのディストリビューションにdstatをインストールするには、以下のコマンドを使用する。

 オプションを使用して、dstatが表示する情報を絞り込むと便利だ。例えば、CPUの統計情報だけを表示させたい場合は、以下のコマンドを実行する。

 ディスクの統計情報だけを表示させたい場合は、以下のコマンドを実行する。

 sarコマンドもsysstatと一緒にインストールされ、システムアクティビティーに関する情報を収集、レポート、保存する。sarコマンドは、オプションを使用する必要があるため、これまでに紹介したコマンドよりも少し複雑だ。例えば、ポーリング間隔が2秒のCPU統計情報を3つ表示させたい場合、コマンドは以下のようになる。

 上記のコマンドは、CPU統計情報を3つ表示した後、平均を示す4つ目の統計情報を表示する。出力には以下のものが含まれる。

 特定のコアに問題があると思われる場合は、以下のように番号を指定してテストできる。

 -Pオプションの後に、テストしたいコアの番号を指定する。

 ハードドライブの状態を確認したい場合は、smartctlコマンドを使用するといいだろう。smartctlのレポートには、特に注意すべき2つの情報がある。

 Linuxシステムのボトルネックの原因特定に役立つ5つのコマンドの紹介は、以上である。manコマンド(man smartctl、man sar、man dstat、man iotop、man iostat)を実行して、それぞれのコマンドの詳細を必ず確認してほしい。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
NTTと早大、誤った正規表現の文字列抽出を自動で修正する技術を発表
IT関連
2023-06-18 19:38
LIXILトータルサービス、業務デジタル化クラウドを2500人規模で導入
IT関連
2023-02-01 01:54
正常時の製造設備を基に故障の仕方を予測 AIで異常検知用の機械学習モデルを生成 異常データ取集の手間を削減
ロボット・AI
2021-06-04 09:30
AWS、わざとクラウド障害を起こすサービス「AWS Fault Injection Simulator」提供開始
クラウドユーザー
2021-03-18 05:20
最新のITインフラに自信がある企業は2割強–IDC調査
IT関連
2021-03-23 20:34
二次創作作品を提供すると公式公認でNFT化、販売・収益還元まで行う個人クリエイター支援プログラムが開始
ブロックチェーン
2021-05-29 08:20
AI利用のリアルタイム英語音声文字起こし「Otter. ai」とNTTドコモが日本向け法人プラン独占販売契約
ソフトウェア
2021-03-10 14:14
設定ミス→漏えいの影に潜む“クラウドへの誤解” いま理解したい「責任共有モデル」 (1/2 ページ)
クラウドユーザー
2021-07-06 17:08
専門家に聞く、企業がAIを使いこなすための4つのヒント
IT関連
2023-08-25 09:27
大分県、ネットワーク刷新でA10を採用–SaaS導入とウェブ会議の品質向上を実現
IT関連
2024-08-07 18:59
AIチャットボット「りんな」を手がけるrinnaが日本語特化のGPT-2大規模言語モデルをオープンソース化
人工知能・AI
2021-04-09 21:23
Facebookが取り締まりを拡大、ルール違反のグループとそのメンバーに対する罰則を強化
ネットサービス
2021-04-04 08:30
AWSがSlack経由で有償サポートの提供を開始、チームのメンバーで問題への対応を共有できる「AWS Spport App」開始
AWS
2022-08-29 22:19
NTT東日本と調和技研、農作物の集荷配送ルート最適化のAIプログラムを開発
IT関連
2022-07-06 03:13