GNU/Linux >> Linux の 問題 >  >> Cent OS

Linux でのパフォーマンスの問題をトラブルシューティングする方法 – 初心者向けガイド

以下は、データベースまたはアプリケーション側のパフォーマンス低下の原因となっている OS 側の問題を診断するのに役立つ、基本的なコマンド出力以外の OS コマンドのリストです。

1. 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 に関連するハードウェア情報を表示するには:

$ dmesg | grep -i eth0

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

$ dmesg | grep -i Memory

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

$ dmesg | grep -i tty

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

$ dmesg | grep -i numa

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

$ dmesg | grep -i sda

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

$ dmesg | grep -i 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 :crond ログ (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. hugepage が使用されているかどうかを確認します。 OSW コレクションの開始時と終了時にのみ実行するには:

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

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

# cat /etc/fstab

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     ### shows paging/swapping historical info
# less /var/log/sa/sa12

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

# lscpu
# cat /proc/cpuinfo

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

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

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

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

13. Open file descriptors/ maxproc の ulimit に関する情報を取得するには:

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

14. IO リクエストごとの最大 IO サイズを確認するには:

# cat /sys/block//queue/max_sectors_kb

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

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

または

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

15. ディスク デバイスのモデル、規格、構成、容量などを表示するには:

例:

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

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

例:

# blockdev --getbsz /dev/xvda1
# tune2fs -l /dev/vgxx/lvolx
注意 :上記のすべてのコマンドは、Linux 環境でのみテストされています。


Cent OS
  1. LinuxにDiscordをインストールする方法:ステップバイステップガイド

  2. LinuxにSlackをインストールする方法:わかりやすいガイド

  3. LinuxでのNFSパフォーマンスの問題をトラブルシューティングするためのnfsstatおよびnfsiostatの使用

  1. Rocky Linux / Alma Linux /CentOS8にErlangをインストールする方法

  2. Linuxでログファイルを空にする方法

  3. Linux でのカーネル モジュール構成の初心者向けガイド

  1. RPM を使用した Linux ソフトウェア管理の初心者向けガイド

  2. Linux でのスワップ領域管理の初心者向けガイド

  3. Linux で logrotate を使用してカスタム ログ ファイル ローテーションを作成する方法