Linux-システム管理-共通コマンド(上)
32271 ワード
一般的に使用されるいくつかのシステム分析のコマンドと一般的な方法について説明します.
vmstat
vmstatはVirtual Meomory Statistics(仮想メモリ統計)の略で、多くのLinuxリリースでこのコマンドツールがデフォルトでインストールされています.もちろん,仮想メモリに統計があるだけでなく,vmstatコマンドを用いてプロセス状態,CPUアクティビティなどを監視することも可能であり,あるプロセスの追跡分析が不十分である.
sar
sarはシステムの性能を分析する重要なツールであり、sar[option][-o filename[interval][count]]のように使用される.
以上のように、あるcpuを指定し、その負荷を監視することで、結果的に単一スレッドを作成するプログラムがあります.これにより、cpu全体の消費は高くありませんが、単一スレッドではできません.
iostat
iostatはi/o statisticの略で、主な機能はシステムのディスクio操作を監視することです.linuxのデフォルトではなく、オープンソースのツールパッケージsysstatをインストールする必要があります.インストールが完了するとiostat、sar、mpstatの3つのコマンドが多くなります.
Blk_read/sは、1秒あたりのデータブロック数Blk_を示すwrtn/sは、1秒あたりの書き込みデータブロック数Blk_を表すreadは読み出したブロック数Blk_wrtnは書き込みのすべてのブロック数を表す
なお、第1の出力は、システムの起動から統計までのすべての伝送情報であり、第2の出力データは、監視期間内のシステムの伝送値を表す.Blk_read/s Blk_wrtn/sの数値表現を簡単に分析します.例えばBlk_read/sは長期にわたって高く、ディスクの読み取り操作が頻繁であることを示し、読み出したデータをメモリに入れて操作することを考慮することができる.Blk_wrtn/sは長期にわたって高く、ディスクの書き込み操作が頻繁であることを示し、ディスクの最適化(回転数の向上、raidの使用など)、または最適化プログラム(書き込み回数の簡素化、書き込み情報のフォーマットの最適化など)を考慮することができる.
iostat-xとsar-uと-dの内容はほぼ一致しています.主にrrqm/sは毎秒マージされるリード操作数wrqm/sは毎秒マージされるライト操作数r/sは毎秒マージされるライト操作数r/sは毎秒完了度i/oデバイスの回数w/sはライトi/oデバイスの回数rsec/sは毎秒読み込まれるセクタ数wsec/sは毎秒書き込まれるセクタ数
free
大体説明します:totalシステムが識別するメモリ総数usedシステムが現在使用しているメモリ数freeシステムが空いているメモリ数shared複数のプロセスが共有するメモリ総額buffers Buffer Cacheとcached Page Cacheディスクキャッシュのサイズ-buffers/cacheのメモリ数:used-buffers-cached+buffers/cacheのメモリ数:free+buffers+cached
ここでは、使用可能なmemory=free memory+buffers+cachedについて説明します.
free-s、-sパラメータを使用すると、メモリを所定の間隔で無停止に監視できます.
uptime
uptime出力情報:システムの現在の時間、システムが前回起動してから現在の運行時間まで、システムは現在どれだけのユーザーが登録して、システムはそれぞれ1、5、15 minの平均負荷状況にあります
ここでload averageに注意する必要があります.ここでの負荷情報はsar-qの記録された現在のシステムのタスクキュー長の値と同様に、サンプリング時間内に処理されるタスク数を待つことを示します.通常、この3つの数はシステムのcpu論理コア数より大きくなく、長期にわたってcpu論理コア数より大きい場合、システム性能に深刻な影響を及ぼします.
vmstat
vmstatはVirtual Meomory Statistics(仮想メモリ統計)の略で、多くのLinuxリリースでこのコマンドツールがデフォルトでインストールされています.もちろん,仮想メモリに統計があるだけでなく,vmstatコマンドを用いてプロセス状態,CPUアクティビティなどを監視することも可能であり,あるプロセスの追跡分析が不十分である.
vmstat :
vmstat [-V] [-n] [delay [count]]
-V,
-n, , 。
delay,
count, “delay” , 1
[root@example.com ~]# vmstat 1 5
procs- -------------memory------------ ---swap-- -----io---- --system--- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 4852724 465532 19557332 0 0 3 33 0 0 3 0 97 0 0
0 0 0 4853232 465532 19557340 0 0 0 176 10946 11871 6 0 94 0 0
1 0 0 4852520 465532 19557824 0 0 0 0 11010 10857 6 1 93 0 0
1 0 0 4853360 465532 19557672 0 0 0 5112 11034 9379 9 1 90 0 0
3 0 0 4851908 465532 19558160 0 0 0 0 10934 9371 3 1 96 0 0
:
proce
r cpu , cpu , CPU 。
b , I/O
memory
swpd ( KB), , si、so 。
free
buff buffers cache , 。
cache page cached , ,, 。 cache , ,
io bi , 。
swap
si 。
so 。
,
io
bi , ,(KB/s)
bo , ,(KB/s))
bi+bo 1000, 1000, wa , I/o ,
system
in , 。
cs 。
, CPU 。
cpu
us cpu 。 50%, 。
sy cpu 。
us+sy 70% cpu 。
id cpu 。
wa io cpu ,wa 20%, 20% io 。
, ( 。)
, cpu , procs r ,cpu us、sy、id 。
sar
sarはシステムの性能を分析する重要なツールであり、sar[option][-o filename[interval][count]]のように使用される.
option( ),
-A , ( ,cpu, ) 。
-u , cpu 。
-P , cpu 。
-d , 。
-r , 。
-b , 。
-v , 、 、 。
-n , , DEV( )、EDEV( )、SOCK( )、 FULL( )。
-q , , 。
-R , 。
-y , 。
-w , 。
-o filename 。
interval , 。
count , , 1.
[@example.com ~]# sar -P 2 1 5
Linux 2.6.18-128.el5 (example.com) 2016 09 18
21 38 24 CPU %user %nice %system %iowait %steal %idle
21 38 25 2 0.00 0.00 0.00 0.00 0.00 100.00
21 38 26 2 0.00 0.00 0.00 0.00 0.00 100.00
21 38 27 2 0.00 0.00 0.00 0.00 0.00 100.00
21 38 28 2 0.00 0.00 0.00 0.00 0.00 100.00
21 38 29 2 0.00 0.00 0.00 1.00 0.00 99.00
Average: 2 0.00 0.00 0.00 0.20 0.00 99.80
%user: cpu 。
%nice: cpu 。
%system: cpu 。
%iowait: io cpu 。
%steal: ,pagein steal 。
%idle: cpu 。
average 。
以上のように、あるcpuを指定し、その負荷を監視することで、結果的に単一スレッドを作成するプログラムがあります.これにより、cpu全体の消費は高くありませんが、単一スレッドではできません.
sar -b -s 10:00:00 -e 16:00:00 -f /var/log/sa/sa10
-b ,
-s ,
-e , :hh:mm:ss
-f sar , /var/log/sa/
[@example.com ~]# sar -b -s 10:00:00 -e 10:50:00 -f /var/log/sa/sa10
Linux 2.6.18-128.el5 (example.com) 2016 09 10
10 00 01 tps rtps wtps bread/s bwrtn/s
10 10 01 13.83 0.12 13.71 1.63 1344.93
10 20 01 272.92 250.34 22.58 2011.54 1650.26
10 30 01 11.25 0.02 11.23 0.13 1118.80
10 40 01 11.87 0.01 11.86 0.11 1143.23
Average: 77.50 62.65 14.84 503.59 1314.32
iostat
iostatはi/o statisticの略で、主な機能はシステムのディスクio操作を監視することです.linuxのデフォルトではなく、オープンソースのツールパッケージsysstatをインストールする必要があります.インストールが完了するとiostat、sar、mpstatの3つのコマンドが多くなります.
iostat
iostat [-c|-d] [-k] [-t] [-x [device]] [interval[count] ]
-c cpu , sar , 。
-d
-k kb
-t 。
-x device , 。
interval, 。
count, interval 。
[@example.com ~]# iostat -d 1 2
Linux 2.6.18-128.el5 (example.com) 2016 09 18
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 8.65 34.40 569.09 886282530 14664213986
sda1 0.00 0.00 0.00 5991 2637
sda2 0.67 1.23 15.77 31779879 406401849
sda3 1.53 2.64 60.98 67940779 1571254746
sda4 0.00 0.00 0.00 6 0
sda5 1.40 1.48 277.72 38223426 7156219000
sda6 0.00 0.01 0.02 289718 555488
sda7 0.00 0.01 0.02 322742 530104
sda8 0.00 0.01 0.02 321038 530080
sda9 0.00 0.01 0.02 308854 532080
sda10 5.05 28.99 214.54 747089393 5528188002
sdb 1.33 46.39 588.21 1195318411 15156936736
sdb1 1.33 46.39 588.21 1195317483 15156936736
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
sda1 0.00 0.00 0.00 0 0
sda2 0.00 0.00 0.00 0 0
sda3 0.00 0.00 0.00 0 0
sda4 0.00 0.00 0.00 0 0
sda5 0.00 0.00 0.00 0 0
sda6 0.00 0.00 0.00 0 0
sda7 0.00 0.00 0.00 0 0
sda8 0.00 0.00 0.00 0 0
sda9 0.00 0.00 0.00 0 0
sda10 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
sdb1 0.00 0.00 0.00 0 0
Blk_read/sは、1秒あたりのデータブロック数Blk_を示すwrtn/sは、1秒あたりの書き込みデータブロック数Blk_を表すreadは読み出したブロック数Blk_wrtnは書き込みのすべてのブロック数を表す
なお、第1の出力は、システムの起動から統計までのすべての伝送情報であり、第2の出力データは、監視期間内のシステムの伝送値を表す.Blk_read/s Blk_wrtn/sの数値表現を簡単に分析します.例えばBlk_read/sは長期にわたって高く、ディスクの読み取り操作が頻繁であることを示し、読み出したデータをメモリに入れて操作することを考慮することができる.Blk_wrtn/sは長期にわたって高く、ディスクの書き込み操作が頻繁であることを示し、ディスクの最適化(回転数の向上、raidの使用など)、または最適化プログラム(書き込み回数の簡素化、書き込み情報のフォーマットの最適化など)を考慮することができる.
[@example.com ~]# iostat -x /dev/sda2 2 3
Linux 2.6.18-128.el5 (example.com) 2016 09 19
avg-cpu: %user %nice %system %iowait %steal %idle
1.94 0.00 1.78 0.32 0.00 95.96
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda2 0.01 1.38 0.08 0.59 1.23 15.77 25.23 0.04 63.08 11.63 0.78
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.12 0.00 0.00 99.88
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.06 0.00 0.00 99.94
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
iostat-xとsar-uと-dの内容はほぼ一致しています.主にrrqm/sは毎秒マージされるリード操作数wrqm/sは毎秒マージされるライト操作数r/sは毎秒マージされるライト操作数r/sは毎秒完了度i/oデバイスの回数w/sはライトi/oデバイスの回数rsec/sは毎秒読み込まれるセクタ数wsec/sは毎秒書き込まれるセクタ数
free
[root@NJ-37-212 ~]# free -m
total used free shared buffers cached
Mem: 31994 27240 4753 0 441 17816
-/+ buffers/cache: 8983 23010
Swap: 16499 0 16499
大体説明します:totalシステムが識別するメモリ総数usedシステムが現在使用しているメモリ数freeシステムが空いているメモリ数shared複数のプロセスが共有するメモリ総額buffers Buffer Cacheとcached Page Cacheディスクキャッシュのサイズ-buffers/cacheのメモリ数:used-buffers-cached+buffers/cacheのメモリ数:free+buffers+cached
ここでは、使用可能なmemory=free memory+buffers+cachedについて説明します.
free-s、-sパラメータを使用すると、メモリを所定の間隔で無停止に監視できます.
[root@NJ-37-212 ~]# free -m -s 5
total used free shared buffers cached
Mem: 31994 27254 4739 0 441 17829
-/+ buffers/cache: 8984 23009
Swap: 16499 0 16499
total used free shared buffers cached
Mem: 31994 27255 4738 0 441 17830
-/+ buffers/cache: 8984 23009
Swap: 16499 0 16499
uptime
uptime出力情報:システムの現在の時間、システムが前回起動してから現在の運行時間まで、システムは現在どれだけのユーザーが登録して、システムはそれぞれ1、5、15 minの平均負荷状況にあります
[@example.com ~]# uptime
00:42:11 up 298 days, 6:31, 16 users, load average: 0.27, 0.67, 1.14
ここでload averageに注意する必要があります.ここでの負荷情報はsar-qの記録された現在のシステムのタスクキュー長の値と同様に、サンプリング時間内に処理されるタスク数を待つことを示します.通常、この3つの数はシステムのcpu論理コア数より大きくなく、長期にわたってcpu論理コア数より大きい場合、システム性能に深刻な影響を及ぼします.