Linux 系统监控常用命令

小市民0条评论 388 次浏览

总结

  • 内存监控(free)
  • 进程监控(ps,pstree)
  • CPU 监控(top,htop)
  • 网络监控(netstat,tcpdump,iftop,traceroute,mtr)
  • 磁盘监控(vmstat,df,iotop)

Ps查看进程

内容 解释
F 进程的标志(process flags),当 flags 值为 1 则表示此子程序只是 fork 但没有执行 exec,为 4 表示此程序使用超级管理员 root 权限
USER 进程的拥有用户
PID 进程的 ID
PPID 其父进程的 PID
SID session 的 ID
TPGID 前台进程组的 ID
%CPU 进程占用的 CPU 百分比
%MEM 占用内存的百分比
NI 进程的 NICE 值
VSZ 进程使用虚拟内存大小
RSS 驻留内存中页的大小
TTY 终端 ID
S or STAT 进程状态
WCHAN 正在等待的进程资源
START 启动进程的时间
TIME 进程消耗CPU的时间
COMMAND 命令的名称和参数

    
STAT表示进程的状态,而进程的状态有很多
TPGID栏写着-1的都是没有控制终端的进程,也就是守护进程

状态  解释
R Running.运行中
S Interruptible Sleep.等待调用
D Uninterruptible Sleep.不可中断睡眠
T Stoped.暂停或者跟踪状态
X Dead.即将被撤销
Z Zombie.僵尸进程
W Paging.内存交换
N 优先级低的进程
< 优先级高的进程
s 进程的领导者
L 锁定状态
l 多线程状态
+ 前台进程

其中的 D 是不能被中断睡眠的状态,处在这种状态的进程不接受外来的任何 signal,所以无法使用 kill 命令杀掉处于D状态的进程,无论是 kill,kill -9 还是 kill -15,一般处于这种状态可能是进程 I/O 的时候出问题了。

#使用 -l 参数可以显示自己这次登陆的 bash 相关的进程信息罗列出来
ps -l
#罗列出所有的进程信息
ps aux
#可以将连同部分的进程呈树状显示出来
ps axjf
#自定义我们所需要的参数显示
ps -afxo user,ppid,pid,pgid,command

pstree

#显示当前所有进程的进程名和进程 id
pstree -p
#显示所有进程的详细信息,遇到相同的进程名可以压缩显示。
pstree -a

netstat

-a或--all:显示显示所有的 Socket 信息与连接状态;*
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;
-c或--continuous:持续列出网络状态;
-C或--cache:显示路由器配置的快取信息;
-e或--extend:显示网络其他相关信息;
-F或--fib:显示FIB;
-g或--groups:显示多重广播功能群组组员名单;
-h或--help:在线帮助;
-i或--interfaces:显示所有网卡列表;
-l或--listening:显示监控中的服务器的Socket;*
-M或--masquerade:显示伪装的网络连线;
-n或--numeric:直接使用ip地址,而不通过域名服务器;*
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称;
-o或--timers:显示计时器;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;*
-r或--route:显示路由表;
-s或--statistice:显示每个协议的统计信息;
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;*
-v或--verbose:显示指令执行过程;
-V或--version:显示版本信息;
-w或--raw:显示RAW传输协议的连线状况;
-x或--unix:此参数的效果和指定"-A unix"参数相同;
--ip或--inet:此参数的效果和指定"-A inet"参数相同。

#列出所有端口 (包括监听和未监听的)
netstat -a     #列出所有端口
netstat -at    #列出所有tcp端口
netstat -au    #列出所有udp端口

#筛选监控中的服务器端口,加参数a会显示已经建立的连接
netstat -luntp|grep 端口号

#用于查看某一端口的占用情况,需要root用户执行
lsof -i:端口号

tcpdump

tcpdump是使用最广泛的网络包分析程序之一,它用于捕捉本机指定条件下的 TCP/IP 包。

iftop

iftop 是一个实时流量监控工具。iftop 监控的是网络的使用情况,而 top 监控的是 CPU 的使用情况。iftop 监控一个选定的接口并且显示两台主机之间当前宽带的使用情况。

mtr

mtr 是 Linux 中一个判断网络连通性的工具。一般 ping 命令可以用来判断丢包率,traceroute 命令可以用来追踪路由,而 mtr 命令结合了 ping,traceroute,nslookup 的相关特性可以用来判断网络的连通性。

df

用于显示目前在Linux系统上的文件系统的磁盘使用情况统计


发表评论

? razz sad evil ! smile oops grin eek shock ??? cool lol mad twisted roll wink idea arrow neutral cry mrgreen