Linux常用效能命令

Sen^發表於2020-12-26

在這裡插入圖片描述

技術概念

     程式
          平均負載
     記憶體
          覆蓋技術、交換技術
     快取
          buffer、cache
     I/O
          IO wait
     CPU
          中斷

工具安裝

     CentOS/Red Hat
          Yum -y install sysstat
     Other
          http://sebastien.godard.pagesperso-orange.fr/download.html

uptime

     17:03:39 up 117 days,19:19, 16 users, load average: 0.52, 1.26, 0.97
     (現在時間,開機了多少天多少小時,目前有多少正在登陸的使用者,平均負載:一分鐘前的平均負載,五分鐘的,十五分鐘的)
     runnable:可執行狀態的程式數量(正在執行和等待執行的程式)
     uninterruptable:不間斷的程式數量(等待I/O的程式)

統計有多少使用者

     cat /etc/group | wc -l

深入理解負載

     CPU == 1
          load average == 1, cpu時刻在用
     CPU == 4
          load average == 1, cpu只是用25%

平均負載

     平均負載不大於3,則系統執行表現良好!
     如果多核cpu,需要累加
          4核cpu < 12
在這裡插入圖片描述

dmesg

     列印20條日誌資訊:dmesg | tail -20

vmstat

     每隔一秒列印一次:vmstat 1
     檢視vmstat的一些設定:man vmstat
     修改單位:vmstat -S M
     記憶體管理:覆蓋、交換
          覆蓋
在這裡插入圖片描述
          交換
在這裡插入圖片描述
     緩衝
          buffer:緩衝墊,資料傳輸
          cache:保險櫃,臨時儲存
     中斷
          軟中斷:軟體引起的中斷(除零異常)
          硬中斷:硬體引起的中斷(I/O)
     CPU
          us:非核心程式
          sy:核心程式
           id:空閒
          wa:等待IO
     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 85700 113524 225072 0 0 0 36 1310 3037 3 4 93 0 0
     1 0 0 85700 113524 225076 0 0 0 0 1305 2930 0 2 98 0 0
     1 0 0 85700 113524 225076 0 0 0 0 1311 3280 4 6 90 0 0
     指令碼,實現增加 r 欄位:

     for i in {1…50};do
     { While true;do
     ((2+2))
     done & }
     done

     清除後臺程式
          ps -aux | grep test.sh |awk ‘{cmd="kill -9 "$2;system(cmd)}’

     只kill自己的程式
          ps -aux | grep test.sh |grep 使用者名稱| awk ‘{cmd="kill -9 "$2;system(cmd)}’

iostat

在這裡插入圖片描述
     一切皆是檔案 cd/dev
     裝置由udev進行管理,udev配置檔案 /etc/udev/udev.conf
     /dev/hd[a-t]:IDE裝置
     /dev/sd[a-z]:SCSI裝置
     /dev/fd[0-7]:標準軟碟機
     /dev/md[0-31]:軟raid裝置
     /dev/loop[0-7]:本地迴環裝置
     /dev/ram[0-15]:記憶體
     /dev/null:無限資料接收裝置,相當於黑洞
     /dev/zero:無限零資源
     /dev/tty[0-63]:虛擬終端
     /dev/ttyS[0-3]:串列埠
     /dev/lp[0-3]:並口
     /dev/console:控制檯
     /dev/fb[0-31]:framebuffer
     /dev/cdrom => /dev/hdc
     /dev/modem => /dev/ttyS[0-9]
     /dev/pilot => /dev/ttyS[0-9]
     /dev/random:隨機數裝置
     /dev/urandom:隨機數裝置

IO wait

在這裡插入圖片描述
在這裡插入圖片描述

free -m

total used free shared buff/cache available
Mem: 7934 2135 3125 64 2673 5437
Swap: 2047 0 2047

top

     n 獲取多次cpu的執行情況 ,top –n 4 只更新4次
     -d 間隔時間,top -4 每隔4秒更新一次
     -p 獲取指定埠的程式的資料,top –p 4444

     檢測指定pid(1)的記憶體20次
          $for i in {1…20};do top -n 1 -p 1| grep systemd | awk ‘{print $11}’;done

相關文章