1、监控linux进程
1 ps -el|more
ps命令可以确定哪个进程正在运行以及运行状态,进程是否结束,进程有没有僵死,以及哪些进程占用过多的资源等
F:用数值表示目前进程的状态
S:用字符表示目前进程状态
UID:进程使用者的ID
PID:进程标识号
PPID:父进程标识号
C:进程使用CPU的估算
PRI:进程进行的优先权
NI:Nice值,可以降低进程执行的优先权中
SZ:Virtual Size 进程在虚拟内存中的大小
WCHAN:等待频道,为NUll时,表示进程正在执行,进程在就绪时为waiting for
TTY:该进程建立时所对应的终端,“?”表示该进程不占用终端
TIME:进程已经执行的时间
CMD:执行进程的命令
2、监控内存使用情况
2.1free(以千字节为单位显示内存使用情况)
可以使用-h参数以字节为单位显示内存使用情况
可以使用-m参数以兆字节为单位显示内存使用情况
2.2 watch
watch 命令会每2秒执行free一次,执行前清空屏幕,在同样位置显示数据,因为watch,命令不会卷动屏幕,所以适合长时间地监控内存使用率,可以使用-n选项控制执行的频率
也可以利用-d选项让命令每次在不同地方显示
2.3 vmstat
可监控操作系统的虚拟内存,进程,以及CPU活动,它统计系统整体情况,不足是无法分析某个进程
通常使用vmstat 5 5(表示在5秒时间内执行5次采集)命令测试,将得到可以反映实际系统情况的一个数据汇总
vmstat命令输出分为6个部分:
procs(进程):其中r为在运行队列中等待进程数,b为在等待I/O的进程数
memory(内存):其中swpd为当前可用的交换内存(kB);free为空闲的内存(KB);buff为缓冲区中的内存数(KB);cache为高速缓存的内存数(KB)
swap(交换页面):其中si为从磁盘交换到内存的交换页数量(KB/s);so为内存交换到磁盘的交换页数量(KB/s)
IO(块设备):其中bi为发送到块设备的块数(块/秒);bo从块设备接收到的块数(块/秒)
system(系统):其中in为每秒的中断数,包括时钟中断;cs为每秒的环境(上下文)切换次数
cpu(中央处理器):cs为用户进程使用时间(百分比);sy为系统进程使用时间(百分比);id为中央处理器空闲时间(百分比);us为CPU在用户空间执行的时间(百分比)
注意:如果r经常大于4,且id经常小于40,则表示中央处理器的负荷很高;如果bi以及bo长期不等于0,则表示物理内存容量太小
3、监控中央处理器
3.1 top
3.2 mpstat
使用mpstat专门监控CPU(包括多CPU)的性能,输出所有CPU使用情况统计信息
mpstat输出说明:
在多CPU系统里,每个CPU有一个ID号,第一个CPU的ID为0,ALL为统计信息为所有CPU平均值
%usr:显示在用户级别运行所占用的CPU总时间的百分比
%nice:显示在用户级别用于nice操作所占用CPU总时间的百分比
%system:显示在内核中运行的CPU总时间的百分比,注意这个值并不包含服务中断和softirq
%iowait:用于显示等待I/O操作时占用CPU总时间百分比
%irq:显示用于中断操作占用CPU总时间的百分比
%idle:显示CPU在空闲状态占用CPU总时间百分比
intr/s:显示CPU每秒接收到的中断总数
4、使用iostat监控IO性能
iostat -c显示CPU使用情况
iostat -d显示磁盘使用情况
iostat -k每秒按4个字节显示数据
iostat -x /dev/hdal查看磁盘的IO情况
iostat -d 5每隔5秒显示一次设备吞吐率的统计信息
iostat -p sda 2 5每隔2秒显示一次sda以及上面所有分区的统计信息,共输出5次
5、监控网络性能
5.1 netstat -i -c (netstat -I命令来检查封包流量,通常以太网界面实现)
5.2 IP -s link is eth0