もっと詳しく

以下は、パフォーマンスの低下を引き起こすOS側の問題を診断するのに役立つ基本的なコマンド以外のOSコマンドのリストです。 上記のすべてのコマンドは、Linux環境でのみテストされていることに注意してください。

パフォーマンスの問題を追跡する準備ができている場合は、次のツールを使用して開始できます。

  • sar:sysstatパッケージをインストールした状態で、sarコマンドを使用して、さまざまなシステム機能のアクティビティ情報を表示したり、時間の経過に伴うリソースの使用状況を把握したりします。 インストールされると、sysstatcronジョブは10分ごとにシステムデータを収集します。このデータは後でsarコマンドで表示できます。 sarを使用すると、同じデータ型をライブで表示することもできます。
  • dstat:vmstat、iostat、およびifstatの代わりとして作成された、dstatは、さまざまなタイプのシステムデータを組み合わせて表示するための多くのオプションを提供します。 データをカラーで表示し、選択した列にさまざまな情報を表示できます。 dstatを使用すると、システムのCPU、ディスクI / O、ネットワークアクティビティ、ページング、割り込み、負荷平均、メモリ、プロセス、タイムカウンター、およびファイルシステムに関する統計を確認できます。 dstatを使用して、さまざまなタイプのリソースのライブシステムアクティビティを比較します。 たとえば、大きなファイルのダウンロード中に、ネットワークとディスクのアクティビティを比較できます。
  • ps:psコマンドは、実行中のプロセスを確認する一般的な方法です。 オプションと組み合わせて、psを使用すると、プロセスごとに表示する列を選択し、それらの列のいずれかでデータを並べ替えることができます。 psを使用して、システムで現在実行されているすべてまたは任意のプロセスに関する情報を確認します。
  • :topを使用すると、数秒ごとに更新される、システムで実行されているプロセスの画面指向の表示を見ることができます。 CPUまたはメモリの使用量で並べ替えて、プロセスを強制終了または解放できます。 topを使用して、最も消費的なプロセスをすぐに見つけます。
  • iostat:主に、iostatを使用すると、デバイス(ディスクやネットワークインターフェイスなど)のI/O統計を表示できます。 データはデバイスの読み取り/書き込み容量のパーセンテージで表示されるため、これはI/Oのボトルネックをチェックするのに役立ちます。
  • mpstat:mpstatコマンドは、CPU使用率を一覧表示します。 mpstatを使用して、CPUがどれだけ消費されているかを確認し、その消費がどこから来ているかについての一般的なアイデアを取得します。
  • vmstat:vmstatコマンドを使用してメモリ統計を一覧表示します。 パフォーマンスが低い場合は、vmstatを使用して、メモリが使い果たされていないか、システムが過度にスワップしていないかを確認します。
  • iptraf:ネットワークトラフィックを監視するグラフィカルツールの場合は、iptrafコマンドを実行します。 iptrafを使用して、システムとの間で最も多くのネットワークトラフィックを生成している特定のIPアドレスを確認します。
  • tcpdump:このテキストベースのツールを使用すると、選択したネットワークインターフェイスに到達するパケットを監視し、オプションでそれらのパケットをフィルタリングして特定の種類のアクティビティを探すことができます。 tcpdumpを使用して、特定のサービスに関連するパフォーマンスの問題を追跡します。特定のサービス宛てのパケットのみを表示するように選択できます。
  • Wireshark:このツールは、多くの分析機能を備えたグラフィカルバージョンのtcpdumpです。 このツールには、一般的に使用される多くのプロトコルをデコードし、インタラクティブなグラフィカルユーザーインターフェイスに表示するためのサポートが含まれています。

それでは、今リストアップしたいくつかのツールについて詳しく見ていきましょう。

1.Linux環境の「iotop」コマンド出力。

iotopコマンドは、ディスクI/O用のトップのようなユーティリティです。 Linuxカーネル(v2.6.20以降が必要)によって出力されたI / O使用状況情報を監視し、システム上のプロセスまたはスレッドごとの現在のI/O使用状況のテーブルを表示します。 これには、rootユーザーがコマンドを実行する必要があります。

2.「free」コマンド出力を使用してファイルシステムキャッシュ情報を収集し、ファイルシステムキャッシュの使用量を取得するには、次の手順に従います。

  • メモリ使用量をチェックするための「free」コマンド。
  • 「バッファ」は、RAMのどの部分がキャッシュディスクブロック専用であるかを表します。 「キャッシュ」は「バッファ」に似ていますが、今回はファイルの読み取りからページをキャッシュします。
  • バッファは、まだディスクに「書き込まれていない」ものです。
  • キャッシュは、ディスクから「読み取られ」、後で使用するために保存されたものです。

3.以下のコマンドを使用して、Linuxに適用されているOSパッチのリストを確認します。 これは、CTが過去に行った変更を特定するのに役立ちます。

# rpm -qa --last > last-rpms.txt

ノート:これは、適用されたパッチと日付と時刻を一覧表示します。

4. dmesg出力からの変更について、メモリ/ CPU / IO/NUMAなどに関する情報を収集します。 30秒ごとに収集できます:

–イーサネットポートeth0に関連するハードウェア情報を表示するには:

–使用可能な合計メモリーと共有メモリーの詳細を表示するには:

– tty情報を表示するには:

– NUMA情報を表示するには:

–ハードディスク情報を表示するには:

– CPU関連の情報を表示するには:

5.グローバルシステムメッセージログを収集するには:

/var/log/messages
/var/log/dmesg

dmesgコマンドは、カーネルのsyslogリングバッファメッセージの現在の内容を表示しますが、/ var / log / dmesgファイルには、ブートプロセスが最後に完了したときにそのリングバッファにあったものが含まれています。 / var / log / dmesgは、次の再起動まで変更されません。 古いメッセージは、リングバッファ内の新しいメッセージに置き換えられます。

dmesgは/var/ log / messagesのサブセットであり、リングバッファに保持されます。 / var / log / messagesには、システムの起動時からのすべてのシステムメッセージとdmesgのメッセージが含まれます。 一言で言えば、dmesgからのログは/ var / log/messagesにダンプされます。

一般的なLinuxログファイルの名前と使用法:

  • / var / log / messages :一般的なメッセージとシステム関連のもの
  • /var/log/auth.log :認証ログ
  • /var/log/kern.log :カーネルログ
  • /var/log/cron.log :cronログ(cronジョブ)
  • / var / log / maillog :メールサーバーログ
  • / var / log / qmail / :Qmailログディレクトリ(このディレクトリ内のその他のファイル)
  • / var / log / httpd / :Apacheアクセスおよびエラーログディレクトリ
  • / var / log / lighttpd / :lighttpdアクセスおよびエラーログディレクトリ
  • /var/log/boot.log :システムブートログ
  • /var/log/mysqld.log :MySQLデータベースサーバーのログファイル
  • / var / log / secure また /var/log/auth.log :認証ログ
  • / var / log / utmp また / var / log / wtmp :ログイン記録ファイル
  • /var/log/yum.log :Yumコマンドログファイル。

6.巨大ページが使用されているかどうかを確認します。 OSWコレクションの開始時と終了時にのみ実行するには:

# grep -i Hugepages /proc/meminfo
# cat /proc/meminfo

7.OSで使用されているファイルシステムを確認します。 一度だけ実行するには:

8.先週のシステムアクティビティに関する情報を収集するには:

/ var / log / saには、CPU使用履歴情報を持つsaおよびsarのファイルがあります。

# ls -al /var/log/sa | grep "Mar 12"
-rw-r--r--. 1 root root 721996 Mar 12 23:50 sa12
-rw-r--r--. 1 root root 655607 Mar 12 23:53 sar12

「sar-W-f/ var / log / sa / sa12」–ページング/スワッピングの履歴情報を表示します

9. CPU Arch情報を取得するには:

# lscpu
# cat /proc/cpuinfo

10.カーネル共有メモリ/セマフォ情報を取得するには:

# ipcs -lm
# ipcs -ls
# cat /proc/sys/kernel/shmmax
# cat /proc/sys/kernel/shmmni
getconf PAGE_SIZE
# cat /proc/sys/kernel/shmall

11.ファイルハンドルに関する情報を取得するには:

# cat /proc/sys/fs/file-max
# cat /proc/sys/fs/file-nr

12.Openファイル記述子/maxprocのulimitに関する情報を取得するには、次のようにします。

# su - oracle
# ulimit -n
# ulimit -u

13. IO要求ごとの最大IOサイズを確認するには、次のようにします。

# cat /sys/block/[device]/queue/max_sectors_kb

非同期IOを使用する場合の最大I/Oサイズをバイト単位で決定するには:

# cat /proc/sys/fs/aio-max-size

また

# cat /proc/sys/fs/aio-max-nr

14.ディスクデバイスのモデル、標準、構成、容量などを表示するには、次の手順に従います。

例:

# hdparm -I /dev/sda
# sudo hdparm -i /dev/sda

15.特定のデバイスのブロックサイズを確認するには:

例:

# blockdev --getbsz /dev/xvda1
# tune2fs -l /dev/vgxx/lvolx

The post Linuxのパフォーマンス問題をトラブルシューティングするための基本的なコマンド–オタク日記 appeared first on Gamingsym Japan.