系統監控工具
htop命令
- 默認支持圖形界面的鼠標操作
- 可以橫向或縱向滾動瀏覽進程列表,以便看到所有的進程和完整的命令行
- 可以直接通過F9殺死進程
# 安裝htop(需要安裝epel)
$ yum -y install htop
安裝了htop,但是習慣于敲top命令,可以去修改配置文件
$ vim /etc/bashrc
# 在最后追加這個判斷,如果存在htop,top=htop,如果沒有安裝htop,則top還是top
if [ -f /usr/bin/htop ];then
alias top='/usr/bin/htop'
fi
多功能系統信息統計工具
dstat命令
# 查看dstat支持的插件
$ dstat --list
internal:
aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int, int24, io, ipc, load, lock, mem, net, page, page24, proc, raw,
socket, swap, swapold, sys, tcp, time, udp, unix, vm
/usr/share/dstat:
battery, battery-remain, cpufreq, dbus, disk-tps, disk-util, dstat, dstat-cpu, dstat-ctxt, dstat-mem, fan, freespace,
gpfs, gpfs-ops, helloworld, innodb-buffer, innodb-io, innodb-ops, lustre, memcache-hits, MySQL-io, mysql-keys,
mysql5-cmds, mysql5-conn, mysql5-io, mysql5-keys, net-packets, nfs3, nfs3-ops, nfsd3, nfsd3-ops, ntp, postfix, power,
proc-count, qmail, rpc, rpcd, sendmail, snooze, squid, test, thermal, top-bio, top-bio-adv, top-childwait, top-cpu,
top-cpu-adv, top-cputime, top-cputime-avg, top-int, top-io, top-io-adv, top-latency, top-latency-avg, top-mem, top-oom,
utmp, vm-memctl, vmk-hba, vmk-int, vmk-nic, vz-cpu, vz-io, vz-ubc, wifi
# 常用參數
- -l: 顯示負載均衡統計量 相當于 uptime
- -m: 顯示內存使用率(used,buffer,cache,free)
- -r: 顯示I/0統計(read, write)
- -s: 顯示交換分區使用情況(used, free)
- -t: 顯示當前時間
- --fs: 顯示文件系統統計數據(files,inodes)
- --socket:顯示網絡統計數據(tot,tcp,udp,raw,frg)
- --tcp:顯示常用的TCP統計(lis,act,syn,tim,clo)
- --udp: 顯示監聽的UDP接口及其當前用量的一些動態數據(lis,act)
常用的插件
- --disk-util : 顯示每塊磁盤的util
- --proc-count:顯示正在運行的程序數量
- --top-bio:顯示塊I/O最大的進程
- --top-cpu:顯示CPU占用最大的進程
- --top-mem:顯示占用最多內存的進程
- --output:輸出到指定的csv文件中
$ dstat --top-mem --top-io --top-cpu
資源監控工具
glances命令
支持服務器/客戶端的模式,實現遠程監控。監控端口是61209
被監控端:glances -s 監控端:glacens -c ip
#左上角表示 Connected to 10-13-169-122
批量管理主機工具
- Ansible
查看歷史文章:Linux運維工程師必備知識-Ansible運維自動化
網絡監測工具
ethtool命令
# 查看網卡中 接收模塊RX、發送模塊TX和Autonegotiate模塊的狀態:啟動on 或 停用off 部分網卡驅動不支持
ethtool -a|--show-pause devname
# 修改網卡中 接收模塊RX、發送模塊TX和Autonegotiate模塊的狀態。
ethtool -A|--pause devname [autoneg on|off] [rx on|off] [tx on|off]
# 顯示網卡驅動信息,如驅動名稱、版本等
ethtool -i|--driver devname
# 顯示register dump信息
ethtool -d|--register-dump devname [raw on|off] [hex on|off] [file name]
# 顯示EEPROM dump信息
ethtool -e|--eeprom-dump devname [raw on|off] [offset N] [length N]
# 修改網卡EEPROM byte。
ethtool -E|--change-eeprom devname [magic N] [offset N] [length N] [value N]
# 顯示網卡Offload參數狀態
ethtool -k|--show-features|--show-offload devname
# 修改網卡Offload參數狀態
ethtool -K|--features|--offload devname feature on|off ...
# 用于區別不同ethX對應網卡的物理位置,常用的方法是使網卡port上的led不斷的閃;N指示了網卡閃的持續時間,以秒為單位。
ethtool -p|--identify devname [N]
# 修改網卡的部分配置
ethtool -s devname [speed N] [duplex half|full] [port tp|aui|bnc|mii] [mdix auto|on|off] [autoneg on|off] [advertise N]
[phyad N] [xcvr internal|external] [wol p|u|m|b|a|g|s|d...] [sopass xx:yy:zz:aa:bb:cc] [msglvl N | msglvl type
on|off ...]
# 網卡執行自我檢測,有兩種模式: offline or online
ethtool -t|--test devname [offline|online|external_lb]
# 查看機器上網卡的速度
$ ethtool eth0
···
Speed: 1000Mb/s
····
# 停止網卡的發送模塊TX:
$ ethtool -A tx off eth0
# 查看網卡采用何種驅動
$ ethtool -i eth0
driver: r8169 version: 2.3LK-NAPI
firmware-version: rtl8168g-2_0.0.1 02/06/13
expansion-rom-version: ? bus-info: 0000:02:00.0 ?
supports-statistics: yes ? supports-test: no ?
supports-eeprom-access: no ?
supports-register-dump: yes ?
supports-priv-flags: no
# 強制eth0網卡運行在百兆模式下
$ ethtool -s eth0 speed 100
iptraf-ng命令
參數 |
作用 |
-i iface |
網絡接口:立即在指定網絡接口上開啟IP流量監測,interface為all,指監視所有的網絡接口 |
-g |
立即開始生產網絡接口的概要狀態信息 |
-d iface |
網絡接口:在指定網絡接口上開啟監視明細的網絡流量信息 |
-s iface |
網絡接口:在指定網絡接口上立即開始監視TCP和UDP網絡流量信息 |
-z iface |
網絡接口:在指定網絡接口上顯示包計數 |
-l iface |
網絡接口:在指定網絡接口上立即開始監視局域網工作站信息 |
-t timeout |
指定iptraf-ng指令監視的時間,timeout指監視時間的minute數 |
-B |
將標準輸出重定向到'/dev/null',關閉標準輸入,作為后臺程序運行 |
-L logfile |
指定一個文件記錄所有命令行的log,默認文件地址是: /var/log/iptraf |
-l interval |
指定記錄log的時間間隔(單位:minute) |
-u |
允許使用不支持的接口作為以太網設備 |
-f |
清空所有計數器 |
網絡測試工具
ss命令
參數 |
作用 |
-H |
不顯示標題行 |
-n |
不解析服務名稱 |
-r |
解析數字地址和端口 |
-a |
顯示所有套接字 |
-l |
僅顯示監聽的套接字 |
-o |
顯示計時器信息 |
-e |
顯示套接字的信息 |
-t |
僅顯示tcp |
-u |
僅顯示udp |
-4 |
僅顯示IPv4地址 |
-6 |
僅顯示IPv6地址 |
文件打開工具
lsof命令
$ lsof
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 253,0 280 96 /
systemd 1 root rtd DIR 253,0 280 96 /
systemd 1 root txt REG 253,0 1612152 537637702 /usr/lib/systemd/systemd
systemd 1 root mem REG 253,0 20112 536898500 /usr/lib64/libuuid.so.1.3.0
systemd 1 root mem REG 253,0 261456 536898671 /usr/lib64/libblkid.so.1.1.0
systemd 1 root mem REG 253,0 90664 536898217 /usr/lib64/libz.so.1.2.7
systemd 1 root mem REG 253,0 157424 536898506 /usr/lib64/liblzma.so.5.2.2
systemd 1 root mem REG 253,0 23968 536898531 /usr/lib64/libcap-ng.so.0.0.0
systemd 1 root mem REG 253,0 19896 536898336 /usr/lib64/libattr.so.1.1.0
輸出內容詳解:
- COMMAND:進程的名稱
- PID:進程標識符
- TID:線程標識符
- USER:進程所有者
- FD:文件描述符
- cwd:表示current work directory,應用程序的當前工作目錄,這是該應用程序啟動的目錄。
- txt:該類型文件是程序代碼,如應用程序二進制文件本身或者共享庫。
- lnn:library reference(AIX)
- er:FD information error(see NAME column)
- jld:jail directory(FreeBSD)
- ltx:shared library text(code and data)
- mxx:hex memory-mApped type number xx
- m86:DOS Merge mapped file
- mem:memory-mapped file
- mmap:memory-mapped device
- pd:parent directory
- rtd:root directory
- v86:VP/ix mapped file
- 0:表示標準輸出
- 1:表示標準輸入
- 2:表示標準錯誤
- TYPE:文件類型,常見的文件類型有以下幾種:
- DIR:表示目錄
- CHR:表示字符類型
- BLK:塊設備類型
- UNIX:Unix域套接字
- FIFO:先進先出(FIFO)隊列
- IPv4:網際協議(IP)套接字
- DEVICE:指定磁盤的名稱
- SIZE/OFF:文件的大小
- NODE:索引節點(文件在磁盤上的標識)
- NAME:打開文件的確切名稱
參數 |
作用 |
-a |
使用AND邏輯,合并選項輸出內容 |
-c |
列出名稱以指定名稱開頭的進程打開的文件 |
-d |
列出打開指定文件描述符的進程 |
+d |
列出目錄下被打開的文件 |
+D |
遞歸列出目錄下被打開的文件 |
-n |
列出使用NFS的文件 |
-u |
列出指定用戶打開的文件 |
-p |
列出指定進程號所打開的文件 |
-i |
列出打開的套接字 |
診斷工具
strace命令
查看歷史文章:Linux診斷、調試利器strace命令詳解
tcpdump命令
查看歷史文章:進階!高級網工必知的 Linux 抓包工具:tcpdump
原文地址:
https://www.cnblogs.com/xll970105/p/10929237.html