Linux/mysql主機狀況查看:
(1)CPU:top
Top,下圖中的99.7 id 表示CPU空閑度為 99.7%,也就是只使用了 0.3%
(2)物理/虛擬內存:Free -h
Free -h
(3)磁盤空間:Df -h
Df -h
(4)磁盤IO: iostat –xk 1(整體磁盤使用率),iotop(具體進程占用IO查看)
yum install sysstat
iostat –xk 1
iotop
(5)端口使用 :Netstat –anop|grep 3306
服務器級別:
Netstat –anop|grep 3306
數據庫級別:
SELECT DB as database_name, USER as login_user, LEFT(HOST,POSITION(':' IN HOST)-1) AS login_ip, count(1) as login_count FROM `information_schema`.`PROCESSLIST` P WHERE P.USER NOT IN('root','repl','system user') GROUP BY DB,USER,LEFT(HOST,POSITION(':' IN HOST)-1) ORDER BY COUNT(1) DESC;
(6)鎖信息
數據庫級別:mysql5.6及以上
-- 查看當前所有事務 select * from information_schema.innodb_trx; -- 查看正在鎖的事務 select * from information_schema.innodb_locks; -- 查看等待鎖的事務 select * from information_schema.innodb_lock_waits;
(7)網絡流量 :iftop
使用及參數詳細參考:https://www.cnblogs.com/chenqionghe/p/10680075.html
1. 安裝
# 安裝epel yum install epel-release # 或者 centos 7,其他版本修改 7 為 對應centos版本即可 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install -y iftop
或者其他方式
yum install -y flex byacc libpcap libpcap-devel ncurses ncurses-devel make gcc autoconf wget wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz tar -zxvf iftop-0.17.tar.gz cd iftop-0.17 ./configure make && make install
2. 使用
(1)啟動
iftop
(2)說明
19.1Mb 流量范圍 => / <= 流量方向 TX 發送流量 RX 接收流量 TOTAL 總流量 cumm 運行iftop到目前時間的總流量 peak 流量峰值 rates 過去 2s 10s 40s 的平均流量
(3) 參數
常用參數
-h 幫助 -i 指定監測網卡,iftop -i eth1 -B 以bytes為單位顯示流量(默認是bits) -n 只顯示IP -N 顯示端口號 -P 顯示host及端口信息 -b 不顯示上方流量范圍圖 -F 顯示特定網段的流量, iftop -F 14.18.207.0/255 -m 設置上方的流量范圍最大值,分五段顯示,iftop -m 100M
(4)進入界面后常用操作
h 是否顯示幫助 n 是否顯示本機IP或主機名 s 是否顯示本機host信息 d 是否顯示遠端目標主機host信息 t 切換流量顯示風格 N 是否顯示端口號或端口服務名稱 S 是否顯示本機端口信息 D 是否顯示遠端目標主機端口信息 p 是否顯示端口信息 P 暫停/繼續顯示 b 是否顯示平均流量圖形條 B 計算2秒或10秒或40秒內的平均流量 T 是否顯示每個連接的總流量 l 輸入要過濾的字符,如ip,只顯示這個ip相關的流量信息 L 切換顯示平均流量圖形條 j/k 向上或向下滾動屏幕顯示的連接記錄 1/2/3 根據右側顯示的三列流量數據進行排序 < 根據左邊的本機名或IP排序 > 根據遠端目標主機的主機名或ip排序 o 是否固定只顯示當前的連接
(8)如何清理緩存、swap?
echo 3 > /proc/sys/vm/drop_caches # 清除OS Cache swapoff -a && swapon -a # 清除OS swap緩存
然后 vim /etc/sysctl.conf,設置實際內存只剩下5%的時候,才會使用交換內存
vm.swappiness=5
sysctl -p 刷新、生效
(9)查看自己的外網出口IP地址
curl myip.ipip.net
(10)查看哪些程序占用了虛擬內存
# 查看占用 for i in $( cd /proc;ls |grep "^[0-9]"|awk ' $0 >100') ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps 2>/dev/null ; done | sort -k2nr | head -10
(11)查看網卡是百兆/千兆/萬兆口
1.查看服務器網絡端口 是百兆網口還是千兆還是萬兆
ifconfig
查看帶寬大小:sudo ethtool xxx
sudo ethtool eth0
[root@centos7-spider ~]# ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 1000baseT/Full 10000baseT/Full Supported pause frame use: No Supports auto-negotiation: No Advertised link modes: Not reported Advertised pause frame use: No Advertised auto-negotiation: No Speed: 10000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: off MDI-X: Unknown Supports Wake-on: uag Wake-on: d Link detected: yes
Speed: 10000Mb/s 帶寬為萬兆
(12)查看網卡帶寬流量,查看服務器帶寬(nload)
nload
Device eth0 [10.16.169.14] (1/2): ==================================================================== Incoming: Curr: 27.99 kBit/s Avg: 33.14 kBit/s Min: 19.02 kBit/s Max: 116.44 kBit/s Ttl: 74.46 GByte Outgoing: Curr: 20.26 kBit/s Avg: 83.46 kBit/s Min: 17.72 kBit/s Max: 3.19 MBit/s Ttl: 145.30 GByte
Incoming也就是進入網卡的流量,Outgoing,也就是從這塊網卡出去的流量,每一部分都有下面幾個。
Curr:當前流量
Avg:平均流量
Min:最小流量
Max:最大流量
Ttl:總流量
nload默認的是eth0網卡,如果你想監測eth1網卡的流量,可以使用下面的命令。
nload eth1
同時查看多個網卡的流量情況
nload -m
//結果如下:
Device eth0 [10.16.169.14] (1/2): ======================================================================================== Incoming: Outgoing: Curr: 30.23 kBit/s Curr: 28.14 kBit/s Avg: 32.80 kBit/s Avg: 69.48 kBit/s Min: 23.65 kBit/s Min: 18.23 kBit/s Max: 133.16 kBit/s Max: 3.17 MBit/s Ttl: 74.46 GByte Ttl: 145.30 GByte Device lo [127.0.0.1] (2/2): ======================================================================================== Incoming: Outgoing: Curr: 0.00 Bit/s Curr: 0.00 Bit/s Avg: 150.82 kBit/s Avg: 150.82 kBit/s Min: 0.00 Bit/s Min: 0.00 Bit/s Max: 7.51 MBit/s Max: 7.51 MBit/s Ttl: 276.67 GByte Ttl: 276.67 GByte