システムパフォーマンス入門

パフォーマンスに詳しいインフラに憧れて

ユーザ用ツール

サイト用ツール


· 最終更新: 2020/03/23 by kurihara


Linux ロードアベレージ確認(コマンド比較 uptime, w, top, dstat, sar -q)

ロードアベレージの基礎知識

ロードアベレージとは

プロセスの処理を実行したくても待たされている状態

  • プロセスの状態がTASK_RUNNINGの状態(プロセスにCPUが割り当てられれば実行可能な状態)
  • プロセスの状態がTASK_UNINTERRUPTIBLEの状態(IO待ち)

ロードアベレージの値の目安

CPUと同じ数値までなら問題ない。
例:8コアのサーバの場合、8コアまでは許容範囲。

ロードアベレージが高くなる原因

  • CPUの高騰
  • IOが遅い


Linuxコマンドでロードアベレージを確認

uptimeコマンドで、現在のロードアベレージを確認

# uptime
 23:15:05 up 1 min,  1 user,  load average: 0.32, 0.13, 0.05
#


wコマンドで、現在のロードアベレージを確認

# w
 23:14:45 up 1 min,  1 user,  load average: 0.23, 0.11, 0.04
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.0.9      23:14    1.00s  0.03s  0.00s w
#


topコマンドで、1秒間隔でロードアベレージを確認

$ top

top - 23:40:14 up 26 min,  1 user,  load average: 0.13, 0.05, 0.05
Tasks: 149 total,   1 running, 148 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.0 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   757968 total,   244536 free,   244780 used,   268652 buff/cache
KiB Swap:   839676 total,   839676 free,        0 used.   376004 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  948 root      20   0  446196  27152  13616 S   0.3  3.6   0:03.78 dockerd-current
  991 zabbix    20   0   80844   2408   1452 S   0.3  0.3   0:00.26 zabbix_agentd
 1095 root      20   0  218604   9884   3980 S   0.3  1.3   0:02.22 docker-containe
 1277 mysql     20   0 1632888 106464   9364 S   0.3 14.0   0:04.39 mysqld
 2060 root      20   0  157716   2236   1540 R   0.3  0.3   0:00.02 top
    1 root      20   0  125200   3792   2536 S   0.0  0.5   0:00.83 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd
(略)


dstatで、1秒間隔でロードアベレージを確認

# dstat -lt
---load-avg--- ----system----
 1m   5m  15m |     time
0.02 0.08 0.05|30-03 23:17:54
0.02 0.08 0.05|30-03 23:17:55
0.02 0.08 0.05|30-03 23:17:56
0.02 0.08 0.05|30-03 23:17:57
0.02 0.08 0.05|30-03 23:17:58
0.02 0.08 0.05|30-03 23:17:59
0.02 0.07 0.05|30-03 23:18:00
0.02 0.07 0.05|30-03 23:18:01
0.02 0.07 0.05|30-03 23:18:02
0.02 0.07 0.05|30-03 23:18:03


sar -q で過去のロードアベレージを確認

# sar -q
Linux 3.10.0-693.21.1.el7.x86_64 (centos7)      2019年03月30日  _x86_64_        (2 CPU)

00時00分01秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
00時10分01秒         0       221      0.00      0.01      0.05         0
00時20分01秒         0       221      0.02      0.03      0.05         0
00時30分01秒         0       221      0.00      0.01      0.05         0
00時40分01秒         0       220      0.00      0.01      0.05         0
00時50分01秒         0       221      0.00      0.01      0.05         0
01時00分01秒         4       227      0.00      0.02      0.05         0
01時10分01秒         4       221      0.00      0.01      0.05         0
01時20分02秒         0       220      0.11      0.07      0.06         0
01時30分01秒         0       221      0.01      0.02      0.05         0
01時40分01秒         0       221      0.00      0.01      0.05         0
01時50分01秒         0       221      0.00      0.02      0.05         0
02時00分01秒         0       223      0.02      0.02      0.05         1
02時10分01秒         0       221      0.00      0.03      0.05         0
02時20分01秒         0       221      0.00      0.01      0.05         0
02時30分01秒         1       221      0.00      0.01      0.05         0
平均値:          1       221      0.01      0.02      0.05         0





· 最終更新: 2020/03/23 by kurihara

ページ用ツール