1、监控系统的负载
w 查看当前系统的负载,详细显示主机运行时间,登录用户数,系统平均负载信息;
uptime 查看当前系统的负载和主机运行时间,简单显示;
显示说明:
17:30:02 //系统当前时间;
up 8:06 //主机已运行时间,时间越大,说明机器越稳定。
3 users //用户连接数(是总的连接数,不是用户数)
load average: 0.05, 0.08, 0.02 //系统平均负载,统计最近1,5,15分钟内系统的平均负载;
第二行开始以及下面所有的行,记录当前登录的用户,从哪里登录,登录的时间等等;
重点需要关注load average:指在特定时间间隔内运行队列中的平均进程数。
第一个数值表示1分钟内系统的平均负载值;第二个数值表示5分钟内系统的平均负载值;第三个数值表示15分钟系统的平均负载值。这个值的意义是,单位时间段内CPU活动进程数。这个值越大就说明你的服务器压力越大。一般情况下这个值只要不超过服务器的cpu数量就没有关系,如果服务器cpu数量为8,那么这个值若小于8,就说明当前服务器没有压力,否则就要关注一下了。
cat /proc/cpuinfo 查看cpu的个数和核数
processor 线程数,从0开始(比如8线程为0-7)
core id 核心数
[root@yonglinux ~]# cat /proc/cpuinfo |grep -c 'processor' 1 [root@yonglinux ~]# cat /proc/cpuinfo |grep -c 'core id' 1
2、监控系统进程状态 – top
用于动态监控进程所占系统资源,每隔3秒变一次。
Tasks 任务,类似于windows的进程;
running 正在运行的进程;
sleeping 休眠的进程;
stopped 暂停或停止的进程;
zombie 僵尸进程;
RES 这一项为进程所占内存大小;
%MEM 为使用内存百分比。
在 top状态下,默认按cpu的使用率大小排列,按 “shift + m”, 可以按照内存使用大小排序。按数字 ‘1’ 可以列出各颗cpu的使用状态。
top -bn1 表示非动态打印系统资源使用情况,可以用在shell脚本中。
top -c 动态显示,最右侧的命令可以显示更详细的信息。
3、实时监控系统状态 vmstat
vmstat 监控一次
vmstat 1 实时监控,1秒刷新一次,按ctrl+c退出;
vmstat 1 10 只监控10次;
vmstat各指标含义:
r :表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用了;
b :表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注一下了
si :由交换区进入内存的数量;
so :由内存进入交换区的数量;
bi :从块设备读取数据的量(读磁盘);
bo: 从块设备写入数据的量(写磁盘);
in : 每秒的中断次数,包含时钟中断;
cs : 每秒的上下文切换次数;
wa :表示I/O等待所占用cpu时间百分比.
4、查看系统内存使用情况 free
free默认以k为单位显示;
free -m 以M为单位显示;
free -g 以G为单位显示;
mem(total):内存总数;
mem(used):已经分配的内存;
mem(free):未分配的内存;
mem(buffers):系统分配但未被使用的buffers;
mem(cached)系统分配但未被使用的cache;
buffers/cache(used):实际使用的buffers与cache 总量,也是实际使用的内存;
buffers/cache(free):未被使用的buffers与cache和未被分配的内存之和,这就是系统当前实际可用内存;(如图所示,free+buffers+cached的总和为当前可用的实际内存)
buffers(缓冲区)是即将要被写入磁盘的,cache(缓存)是被从磁盘中读出来的;
5、查看系统进程 ps
ps aux 或 ps -elf 详细显示当前系统的所有进程状态
PID :进程的id,这个id很有用,在linux中内核管理进程就得靠pid来识别和管理某一个程(比如我想终止某一个进程,则用 ‘kill 进程的pid’ 有时并不能杀掉,则需要加一个-9选项了 kill -9 进程pid)
STAT :表示进程的状态,进程状态分为以下几种
D 不能中断的进程(通常为IO)
R 正在运行中的进程
S 已经中断的进程,系统中大部分进程都是这个状态
T 已经停止或者暂停的进程,如果我们正在运行一个命令,比如说 sleep 10 如果我们按一下ctrl -z 让他暂停,那么我们用ps查看就会显示T这个状态
X 已经死掉的进程(这个从来不会出现)
Z 僵尸进程,杀不掉,打不死的垃圾进程,占系统一小点资源,不过没有关系。如果太多,就有问题了。
< 高优先级进程
N 低优先级进程
L 在内存中被锁了内存分页
s 主进程
l 多线程进程
+ 在前台的进程
pstree 树形显示所有进程
6、监控网卡流量、历史负载 sar
安装sar的命令:yum install -y sysstat
sar -n DEV 查看网卡流量
sar -n DEV 1 实时监控网卡的流量,1秒刷新一次,按ctrl+c退出;
sar -n DEV 1 10 查看网卡的流量,1秒刷新一次,查看10次;
sar -n DEV -f /var/log/sa/sa16 查看系统日志里面保存的网卡流量信息,按照每天的日期命名;
查看历史负载 sar -q
查看磁盘读写 sar -b
7、查看网络状况 netstat
netstat -lnp 查看当前系统开启的端口以及socket
netstat -an 查看当前系统所有的连接