linuxのパフォーマンスを表示するコマンドをいくつか記録します.

6051 ワード

一、topコマンド
一般的な使い方:
  • top CPU負荷、メモリ使用量、buffer/cache、swap状況
  • を表示する.
  • top-HP pid現在のプロセススレッド数、スレッドが占有するリソースの状況(一般的な位置決めスレッドCPUが高いシーン)
  • を表示する.
  • topインタラクティブコマンド-mメモリ別逆出力-P CPU別逆出力-cプロセスの完全なパスの詳細を参照してください.https://www.cnblogs.com/peida/archive/2012/12/24/2831353.html

  • 二、freeコマンド
    一般的な使い方:
  • free-k|-m KB、MBディスプレイメモリ
  • メモリ使用量の表示
  • [root@10 /data/home/jerrikyang]# free -m
                 total       used       free     shared    buffers     cached
    Mem:         64198      47069      17129          0        247        870
    -/+ buffers/cache:      45950      18247
    Swap:         2039       1615        424
    

    freeが大きい場合は、一般的に注目する必要はありませんが、usedが大きい場合はbuffers、cachedの占有量が大きく、一般的には問題なくlinuxはこのキャッシュを自動的に回収します.linuxが何らかの問題で回収できない場合(ファイルキャッシュが多すぎるため)、メモリがいっぱいになり、マシンにログインできなくなります.ビジネスに影響を及ぼさずにシステムcacheをクリーンアップすることを考慮します.swapのusedが0の場合、仮想メモリが使用されていないことを示します.そうしないと、メモリ不足に注意する必要があります.
    echo 1 > /proc/sys/vm/drop_caches
    echo 2 > /proc/sys/vm/drop_caches
    echo 3 > /proc/sys/vm/drop_caches
    

    linux buffer/cacheを表示するツール-htopをお勧めします.必要に応じてgithubダウンロード実行ファイルを取得することができる.https://github.com/djhuahao/hcache
    三、iostatコマンド
    LinuxシステムのiostatはI/O statistics(入出力統計)の略で、iostatツールはシステムのディスク操作活動を監視する一般的な使い方です.
  • iostat-d-m 1ディスクの読み取りと書き込みを1秒おきに表示する(-dはdisk、-mはMBを表示する)
  • .
    Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
    sda              25.39         0.00         1.87     145820   88053728
    
  • iostat-c-m 1ディスク、CPU使用率を1秒ごとに表示する(-cはcpu、-mはMBを表示する)
  • avg-cpu:  %user   %nice %system %iowait  %steal   %idle
              19.14    0.00    5.56    0.02    0.00   75.28
    

    ここでiowaitは、CPUが入出力完了待ち時間の割合を表し、値が大きい場合(30を超える場合)は、ハードディスクのパフォーマンスに問題があると判断し、ディスク書き込みに対して特定の最適化やアップグレードを行うことができます.
    四、vmstatコマンド
    vmstatはVirtual Meomory Statistics(仮想メモリ統計)の略で、オペレーティングシステムの仮想メモリ、プロセス、CPUアクティビティを監視できます.パラメータの説明:
    r:          
    b:   IO     
    
    Memory(  ):
    swpd:         
    free:       
    buff:          
    cache:          
    
    Swap:
    si:              
    so:             
    IO:(   Linux       1024bytes)
    bi:        
    bo:        
      :
    in:      ,      。
    cs:         。
    
    CPU(      ):
    us:         (user time)
    sy:         (system time)
    id:     (  IO    ),           。      。
    wa:   IO  
    

    一般的な使い方:
  • vmstat-S m 1毎秒1回、MB
  • 単位で表示
    [root@TENCENT64 /data/home/jerrikyang]# vmstat -S m 1
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     2  0      1  22537    457   8314    0    0     0     6    0    0  3  1 96  0  0    
     0  0      1  22538    457   8314    0    0     0     0 53958 37303  4  2 95  0  0  
    
  • システムのslab情報vmstat-m
  • を表示
    五、dstatコマンド
    dstatは、他のコマンドよりも豊富な機能を提供しています.一般的な使い方は次のとおりです.
  • dstat 1は1秒に1回表示されます(オプションなしでデフォルトは-cdngym).一度にもっと多くの情報を見たい場合は、dstat -cdlmnpsy
  • を実行できます.
  • dstat-cyl--proc-count--top-cpu CPUの使用状況を確認
  • [root@VM_32_173_centos ~]# dstat -cyl --proc-count --top-cpu
    ----total-cpu-usage---- ---system-- ---load-avg--- proc -most-expensive-
    usr sys idl wai hiq siq| int   csw | 1m   5m  15m |tota|  cpu process   
      0   0 100   0   0   0| 708  1033 |   0 0.02 0.05| 156|sap1002      0.1
      0   0 100   0   0   0| 766  1066 |   0 0.02 0.05| 156|                
      0   0 100   0   0   0| 704   944 |   0 0.02 0.05| 156|java         0.1
      0   0 100   0   0   0| 744   991 |   0 0.02 0.05| 156|sap1002      0.1
    
  • dstat-glms--top-memメモリの使用状況を表示
  • [root@VM_32_173_centos ~]# dstat -glms --top-mem
    ---paging-- ---load-avg--- ------memory-usage----- ----swap--- --most-expensive-
      in   out | 1m   5m  15m | used  buff  cach  free| used  free|  memory process 
       0     0 |   0 0.02 0.05|2213M  284M 12.8G  143M|   0     0 |java         994M
       0     0 |   0 0.02 0.05|2213M  284M 12.8G  143M|   0     0 |java         994M
       0     0 |   0 0.02 0.05|2213M  284M 12.8G  143M|   0     0 |java         994M
    
  • dstat--tcp--socketは、tcp接続数(接続が確立され、閉じられ、time_waitの下のリンクを含む)を表示します.tcp、udpリンク数を表示します.
  • [root@VM_32_173_centos ~]# clkear^C
    [root@VM_32_173_centos ~]# clear
    [root@VM_32_173_centos ~]# dstat --tcp --socket
    ----tcp-sockets---- ------sockets------
    lis act syn tim clo|tot tcp udp raw frg
      7   7   0   0   0|191  14   5   0   0
      7   7   0   0   0|191  14   5   0   0
    

    それぞれlisten,established,syn,time_を表すwait,close状態.total, tcp, udp, raw, ip-fragments
  • dstat-dn--top-io--disk-utilディスク、ネットワーク、最もioを消費するプロセス、およびディスクの忙しい状態を表示する
  • [root@VM_32_173_centos /data/home/jerrikyang]# dstat -dn --top-io --disk-util
    -dsk/total- -net/total- ----most-expensive---- sda-
     read  writ| recv  send|     i/o process      |util
    2002B  142k|   0     0 |init       1512k 2553k|0.10
       0    72k|2328k 4086k|java        350k 1019k|   0
    

    六、その他の命令
    #       
    echo 3 > /proc/sys/vm/drop_caches
    
    #      
    cd /proc/x/task
    top -Hp pid  -> tasks
    
    #       
    ethtool eth1
    
    #         (connected,listen)
    netstat -nalp
    
    #  tcp
    netstat -nltp
    
    #  udp
    netstat -nlup
    
    #         
    lsof -p pid
    
    #         
    dmidecode
    
    #      
    lspci
    
    #  cpu  
    cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
    
    #    cpu  (  )
    grep 'physical id' /proc/cpuinfo | sort | uniq | wc -l
    
    #    CPU    
    cat /proc/cpuinfo |grep "cores"|uniq
    
    #  CPU  
    cat /proc/cpuinfo |grep MHz|uniq
    
    #  CPU    
    lscpu
    
    #  CPU    
    getconf LONG_BIT  -- 64
    
    #dstat      
    alias dstat='dstat -cdlmnpsy'
    
    
    #        
    /var/log/dmesg  -> dmesg
    #    (IO   、                     )
    /var/log/messages
    
    #     tcp  (dstat --tcp --socket)
    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    
    #        
    hdparm -t /dev/vdb1
    
    #    iops
    fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=100 -group_reporting -name=my_test