系统监控工具
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, -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
查看历史文章:
网络监测工具
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-med 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命令
查看历史文章:
tcpdump命令
查看历史文章:
胜象大百科原文地址:
https://www.cnblogs.com/xll970105/p/10929237.








