Linux-システム管理-共通コマンド(上)


一般的に使用されるいくつかのシステム分析のコマンドと一般的な方法について説明します.
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論理コア数より大きい場合、システム性能に深刻な影響を及ぼします.