以下は、データベースまたはアプリケーション側のパフォーマンス低下の原因となっている 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 環境でのみテストされています。