今回はLinuxOSの性能情報取得ツールを紹介します。
どんな情報を取得するべきなのか?については↓の記事を参考にしてください。
Linuxで取得しておくべきOSの性能情報
Linuxで取得しておくべきOSの性能情報一覧を紹介します。 よくスローダウンした時にサーバ情報を確認しますが、それでは性能調査としては遅いです。 この記事で紹介した...
※この記事はRed Hat Enterprise for Linuxを前提に記載しています。
目次
仕様
今回のツールを実行すると以下の情報が「1秒間隔で24時間」取得します。
- vmstat:OS全体の性能情報
- CPU
- メモリ
- Swap
- I/O
- Network転送量(エラーパケットも含む)
ツールを実行するとカレントディレクトに「logs」ディレクトリが作成され、そこの各々のログが出力されます。 以下、注意点です。
- 1秒間隔で24時間分取得されますのでログサイズには注意してください。
- ログ出力停止する際にはKillコマンドで行ってください。または下のツールをご利用ください。
Linuxで指定したプロセス名を強制終了(kill)するツール
Linuxではkillコマンドでプロセス番号を指定してプロセスを強制終了させます。 ただ大量にあるプロセスを一度に消すとなると、プロセス名を指定してプロセスを削除した...
使用方法
使用方法は以下になります。特に引数などは必要ありません。
./osperf.sh
ソース
↓が今回のソースになります。
#!/bin/sh
export LANG=C
export DIRNAME=`pwd`/logs
mkdir logs
# vmstat Stats
vmstat -nw -S m 1 86400 | awk '{print strftime("%F %T") $0}' >> "${DIRNAME}/vmstat_`date '+%Y%m%d'`.log" &
# CPU Stats
sar -P ALL 1 86400 | awk '{print strftime("%F ") $0}' >> "${DIRNAME}/cpu_perf_`date '+%Y%m%d'`.log" &
# Memory Stats
sar -r 1 86400 | awk '{print strftime("%F ") $0}' >> "${DIRNAME}/memory_perf_`date '+%Y%m%d'`.log" &
# Swap stats
sar -W 1 86400 | awk '{print strftime("%F ") $0}' >> "${DIRNAME}/swap_perf_`date '+%Y%m%d'`.log" &
# I/O Stats
iostat -xmd -p ALL 1 86400 | awk '{print strftime("%F %T ") $0}' >> "${DIRNAME}/io_perf_`date '+%Y%m%d'`.log" &
# Network Stats
sar -n DEV 1 86400 | awk '{print strftime("%F ") $0}' >> "${DIRNAME}/net_perf_`date '+%Y%m%d'`.log" &
# Network Error Stats
sar -n EDEV 1 86400 | awk '{print strftime("%F ") $0}' >> "${DIRNAME}/neterr_perf_`date '+%Y%m%d'`.log" &
exit 0;