rkojimaの備忘録

日々感じたことや、備忘録用のメモなど自由に書いていきます

Linux sarコマンド

  • 導入:yum install sysstat
# sar --help
Usage: sar [ options... ] [ <interval> [ <count> ] ]
Options are:
[ -A ] [ -b ] [ -B ] [ -c ] [ -d ] [ -i <interval> ] [ -p ] [ -q ]
[ -r ] [ -R ] [ -t ] [ -u ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ]
[ -I { <irq> | SUM | ALL | XALL } ] [ -P { <cpu> | ALL } ]
[ -n { DEV | EDEV | NFS | NFSD | SOCK | ALL } ]
[ -x { <pid> | SELF | ALL } ] [ -X { <pid> | SELF | ALL } ]
[ -o [ <filename> ] | -f [ <filename> ] ]
[ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ]
# sar -h
Usage: sar [ options ] [ <interval> [ <count> ] ]
Main options and reports:
       -b      I/O and transfer rate statistics
       -B      Paging statistics
       -d      Block device statistics
       -I { <int> | SUM | ALL | XALL }
               Interrupts statistics
       -m      Power management statistics
       -n { <keyword> [,...] | ALL }
               Network statistics
               Keywords are:
               DEV     Network interfaces
               EDEV    Network interfaces (errors)
               NFS     NFS client
               NFSD    NFS server
               SOCK    Sockets (v4)
               IP      IP traffic      (v4)
               EIP     IP traffic      (v4) (errors)
               ICMP    ICMP traffic    (v4)
               EICMP   ICMP traffic    (v4) (errors)
               TCP     TCP traffic     (v4)
               ETCP    TCP traffic     (v4) (errors)
               UDP     UDP traffic     (v4)
               SOCK6   Sockets (v6)
               IP6     IP traffic      (v6)
               EIP6    IP traffic      (v6) (errors)
               ICMP6   ICMP traffic    (v6)
               EICMP6  ICMP traffic    (v6) (errors)
               UDP6    UDP traffic     (v6)
       -q      Queue length and load average statistics
       -r      Memory utilization statistics
       -R      Memory statistics
       -S      Swap space utilization statistics
       -u [ ALL ]
               CPU utilization statistics
       -v      Kernel table statistics
       -w      Task creation and system switching statistics
       -W      Swapping statistics
       -y      TTY device statistics

■sarコマンドの主要オプション(パラメータ)

 -A
     全情報表示 
 -q
   ロードアベレージ
      runq-sz    実行キューの長さ (実行時間を待っているプロセス数)
      plist-sz   プロセスリスト中のプロセスとスレッド数
      ldavg-1    1分間隔のロードアベレージ
      ldavg-5    5分間隔のロードアベレージ
      ldavg-15   15分間隔のロードアベレージ
 
 -u
 -C
    CPUの利用状況
     CPU       
     %user    アプリケーションの実行に使用されたCPU使用率
     %nice    「nice」コマンドにて優先度を変更したアプリケーションの実行に使用されたCPU使用率
     %system  カーネルの実行に使用されたCPU使用率
     %iowait  ディスクI/O要求がある間のCPUが、アイドル状態である時間のパーセント表示
     %steal   仮想プロセッサを実行している間、強制的に待たされている時間のパーセントを表示
     %idle    CPUがアイドル状態で、ディスクI/O要求がない状態の時間のパーセント表示
 
 -b
    ディスクI/Oの使用状況
     tps       1秒あたりの転送 (デバイスに対するIOリクエスト) 数の合計
     rtps      1秒あたりの読み込みIOリクエストの回数の合計
     wtps      1秒あたりの書き込みIOリクエストの回数の合計
     bread/s   1秒あたりの(ブロック単位)読み込みIOリクエストのデータ量の合計
     bwrtn/s   1秒あたりの(ブロック単位)書き込みIOリクエストのデータ量の合計
 
 -d
    ディスクへのリクエスト数、待ち時間に関する情報
     tps             : 1秒間のI/Oリクエスト数(転送回数)
     rd_sec(rsec)/s  : 1秒間の読み込みセクタ数(1セクタ512バイト)
     wr_sec(wsec)/s  : 1秒間の書き込みセクタ数(1セクタ512バイト)
     avgrq-sz        : デバイスへのIOリクエストの平均セクタサイズ
     avgqu-sz        : デバイスへのIOリクエストの待ち行列の平均セクタサイズ
     await           : デバイスへのIOリクエストの平均待ち時間(単位msec)[待ち行列にいる時間+処理時間]
     svctm           : デバイスへのIOリクエストの平均処理時間(単位msec)
     %util           : デバイスへのIOリクエスト中のCPU使用率(ここが継続的に100%だとディスク部分でボトルネックになっている可能性が高い)
 
 -r
    メモリとスワップの使用状況
     kbmemfree  物理メモリの空き容量
     kbmemused  使用中の物理メモリ量(バッファ・キャッシュ含む)
     %memused   物理メモリ使用率(バッファ・キャッシュ含む)
     kbbuffers  カーネル内のバッファとして使用されている物理メモリの容量
     kbcached   カーネル内でキャッシュとして使用されている物理メモリの容量
     kbswpfree  スワップ領域の空き容量
     kbswpused  使用中のスワップ領域の容量
     %swpused   スワップ領域の使用率
     kbswpcad   スワップ領域のキャッシュ
 
     トータルメモリ                      =kbmemfree + kbmemused
     サーバー全体で使用可能な残りメモリ量=kbmemfree + kbbuffers + kbcached
     トータルのスワップ領域              =kbswpfree + kbswpused
 
 -W
    秒当たりのスワップ情報
     pswpin/s    1秒間あたりのスワップインしたページ数
     pswpout/s   1秒間あたりのスワップアウトしたページ数
 
 -B
    ページングの統計状況
     pgpgin/s    1 秒あたりにディスクからシステムがページインした数(KB)
     pgpgout/s   1 秒あたりにディスクへシステムがページアウトした数(KB)
     fault/s     1 秒あたりにシステムがページフォルトした回数。(メジャーフォルトとマイナーフォルトの合計)
     majflt/s    1 秒あたりにシステムがメジャーフォルトした回数
 
    ページ・フォルトにはディスクアクセスの有無によりマイナー・ページ・フォルトとメジャー・ページ・フォルトがある。
    マイナー・ページ・フォルトはディスクアクセスを伴わない。システム負荷は小さい。
    メジャー・ページ・フォルトはディスクアクセスを伴う。システム負荷が大きい。
 
 -n DEV
    送信/受信パケットに関する情報
     IFACE     インタフェース名
     rxpck/s   1秒間あたりの受信パケット数
     txpck/s   1秒間あたりの送信パケット数
     rxbyt/s   1秒間あたりの受信バイト数
     txbyt/s   1秒間あたりの送信バイト数
     rxcmp/s   1秒間あたりの圧縮受信パケット数 (for cslip etc.)
     txcmp/s   1秒間あたりの圧縮送信パケット数
     rxmcst/s  1秒間あたりのマルチキャスト受信パケット数
  
 -n EDEV
    エラーパケットに関する情報

■KSarでsysstatのグラフ化 https://users.miraclelinux.com/update/?q=node/236

■sar 日付を指定して実行

sar -f /var/log/sa/sa15
 
10 分毎のデータを取得(※-i オプションで 600秒=10分 指定)
# sar -i 600 -f /var/log/sa/sa25

sarのデータ間隔を1分に変更
vi /etc/cron.d/sysstat
# */10 * * * * root /usr/lib/sa/sa1 1 1
*/1 * * * * root /usr/lib/sa/sa1 1 1

https://www.slideshare.net/shibataayumu/iostat-await-svctm

LINUX 負荷調査

[top]

  • 導入:標準で入っている
top

使い方は別記事 rkojima.hatenablog.com

[vmstat]メモリやCPUの負荷を表示する

  • 導入:標準で入っている
vmstat

# 継続して1秒おきに出力
vmstat 1

[mpstat] CPUコア単位で統計を出力

  • 導入:標準で入っている
  • 備考:vmstatはすべてのコアの平均値
mpstat

# 継続して1秒おきに出力
mpstat 1

[netstat] 使用中のTCPポート数

  • 導入:標準で入っている
netstat -an | wc -l

sar

  • 導入:yum install sysstat

使い方は別記事 rkojima.hatenablog.com

ディスクIOのチェック

[iostat]

  • 導入:yum install sysstat
iostat -x
 r/s, w/s svctm, %util が重要?
 %util = (r/s + w/s) * svctm
 1000IOPS ≒ svctm 1.00(ms)以下
   r/s: 秒間の読み込み回数
   w/s: 秒間の書き込み回数
   rsec/s: 読み込まれたセクタ数(秒間)。IOによって実際に読み込まれたデータのサイズであり、
           真のディスク性能指標と考えられる項目です。基本的には読込IO要求の値と連動しますが、大きなデータを扱う場合は読込IO要求の値以上に、良い性能を発揮できます。
   wsec/s: 書き込まれたセクタ数(秒間)。IOによって実際に書き込まれたデータのサイズであり、
           真のディスク性能指標と考えられる項目です。基本的には書込IO要求の値と連動しますが、大きなデータを扱う場合は書込IO要求の値以上に、良い性能を発揮できます。
   avgrq-sz: 平均 I/O サイズ
   avgqu-sz: 平均待ち行列長
   await: レスポンスタイム。I/O を実施していない待ち時間を含む。
          デバイスへのIOリクエストの平均待ち時間(ミリ秒)。キューにいる時間+処理時間。
   svctm: サービスタイム。1回のI/Oに要する時間 (ミリ秒)。
   %util: 使用率(ビジー率)

dstat

  • 導入:yum install dstat

iftop

  • 導入:yum install iftop

iotop

  • 導入:yum install iotop.noarch

iptraf

  • 導入:yum install iptraf

tcpdump

  • 導入:yum install tcpdump

SSHクライアントを比べてみました。

putty

本家:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html ごった煮版:http://yebisuya.dip.jp/Software/PuTTY/

チェック項目 評価
画面分割 ×
タブ化 ×
安定性
操作性
処理の軽さ
接続の簡単さ
  • 動作が非常に安定性している。
  • WinSCP(FTPソフト)と連携出来る。
  • 接続情報の保存ができない?

Teraterm

http://ttssh2.sourceforge.jp/

チェック項目 評価
画面分割 ×
タブ化 ×
安定性
操作性
処理の軽さ
接続の簡単さ
  • TeraTerm Menuでサーバーへの接続情報を保存できる

RLogin

http://nanno.dip.jp/softlib/man/rlogin/

チェック項目 評価
画面分割
タブ化
安定性 ○△
操作性
処理の軽さ
接続の簡単さ
  • サーバーへの接続情報をファイルに書き出せる。
  • デフォルトのフォントが非常に見にくい。
  • 時間が経つと、コピー・ペーストができなくなる時がある
  • ホイールスクロールに難あり
  • ネットにあまりない情報がない。
  • インストール不要(レジストリは使用される)。実行ファイルはexeファイルのみ
  • 純日本産(らしい)

Poderosa

http://ja.poderosa.org/

チェック項目 評価
画面分割
タブ化
安定性
操作性
処理の軽さ
接続の簡単さ
  • サーバーへの接続情報をファイルに書き出せる
  • わりとよく落ちる。
  • 開発が停止している。