1、w
21:11:15 up 58 min, 1 user, load average: 0.00, 0.00, 0.00
1 2 3 4 5 6
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.1.102 20:13 0.00s 0.11s 0.01s w
7 8 9 10 11 12 13 14
1:系统时间
2:系统起来的时间
3:登陆的用户数
4:平均1分钟在占用(使用或者等待)所有CPU的进程数目;与cpu核心数比较来衡量压力大小
5:平均5分钟在占用(使用或者等待)CPU的进程数目;
6:平均15分钟在占用(使用或者等待)CPU的进程数目;
7:登陆的用户
8:登陆终端
9:客户端地址
10:登陆时间
11:空闲时间
12:进程和子进程占用的时间
13:触发命令占用的时间
14:触发命令
****************!!!!!!!!!!!!!!!!!!!!!!!!!!!***************
1分钟的平均负载应该稍低于cpu数时才是合适(查看CPU数:cat /proc/cpuinfo中的processor数),大多时候看1分钟平均值就行,其他两个作为参考。
****************!!!!!!!!!!!!!!!!!!!!!!!!!!!***************
ab:apache自带的压力测试
ab -n 10000 -c 100 'http://www/ypl.cc/form.php':访问10000次、每次100个线程
cpu /proc/cpuinfo【可以是逻辑核】
2、uptime
04:42:25 up 15 min, 1 user, load average: 0.00, 0.00, 0.00
具体意义同上
3、top:每3秒显示一下系统状态
top - 02:38:55 up 53 min, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
任务: 共79 1个占用CPU 78个睡眠 0个停止 0个僵尸进程
Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.4%id, 0.2%wa, 0.0%hi, 0.1%si, 0.0%st
CPU使用率 use 内核 等待IO时间
Mem: 1030528k total, 78288k used, 952240k free, 8464k buffers
内存:
Swap: 2097144k total, 0k used, 2097144k free, 38120k cached
交换分区:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 2 3 4 5 6 7 8 9 10 11 12
1 root 20 0 2900 1424 1216 S 0.0 0.1 0:01.39 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
1:进程的ID(/proc/下的目录)
2:开启进程的用户
3:0<PR<39,和NI一块控制进程的优先级
4:优先值,-10<NI<10,可以配置
5:虚拟内存
6:实际内存resident memory usage
7:共享内存
8:进程状态(r:running s:sleep)
9:占用CPU%
10:内存使用率
11:占用CPU时间
12:触发命令
***************************************************************************
主要关注对象
PID USER RES %CPU %MEN
***************************************************************************
按1查看每个CPU具体情况
top -c:详细显示(详细命令名)
top -bn1:静态显示出来,常用于脚本中
退出前shift+m按内存排序
按q正常退出
少用kill!!!!!!!!!!!!!!!!!!【mysql可以通过日志恢复】
尽量用killall
4、vmstat查看系统具体的负载
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 923384 19924 47260 0 0 6 1 5 9 0 0 100 0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
1:正在占用CPU的进程(使用或等待cpu)
2:被阻塞的进程数(磁盘、网络等比较慢的原因)【r>b说明cpu相对慢了,都没有被阻塞的。b应当小于5较合适】
3:交换的块,单位为kb(内存不够或者程序要求)。若数值大或在大和小频繁变化时说名内存不够【增加】。
4:内存剩余
5:剩余的buffer(缓冲:解决快速的CPU与慢速的内存的矛盾,从内存中分配一部分空间用于暂存从cpu要写到磁盘的数据。这部分用于暂存的内存空间就是buffer)
6:剩余的cache(缓存:解决快速的CPU与慢速的内存的矛盾,从内存中分配一部分空间用于暂存从磁盘要读到CPU的数据。这部分用于暂存的内存空间就是cache)
7:si(swap in)进入到内存的,也就是从交换分区读出的,注意是相对于内存
8:so(swap out)由内存读出到交换分区的(当这两个有一定大的数值时,可以配合free查看内存是否有剩余)
9:bi(block in)从磁盘里读出,进入到内存的数据,也是相对于内存。【连续超1000时不太正常】
10:bo(block out)从内存中读出,进入到磁盘的数据【往往bi>bo,磁盘读比写快】
11:in(interrupt)每秒中断的次数(多线程并发时会很高),过高会影响性能【CPU忙】现场保护和现场恢复过快会浪费大量的内存
12:cs上下文切换的次数【任务在进行交换,所以看起来是多任务】
13:用户占用的CPU时间百分比
14:系统的CPU时间百分比
15:空闲的CPU百分比
16:等待IO等资源的CPU时间百分比【与b相关】
17:被偷掉的CPU时间百分比
**********************************************************************************************
按1:显示所有CPU使用率
主要关注对象
r b si so bi bo us wa
【CPU使用率与负载不是相同概念】
CPU使用率:CPU被使用的衡量
负载:系统整体的衡量,包括CPU使用率、磁盘等待。它大不一定是CPU使用率高
通常用两个值共同衡量服务器的压力
**********************************************************************************************
vmstat 1 10:每1秒刷新一次,显示10次。
vmstat 1:每秒刷新1次
vmstat -S M :指定显示的单位
free:可以看具体的内存状态
6、ps aux:查看进程
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 1.5 0.1 3792 1424 ? Ss 12:29 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 12:29 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 12:29 0:00 [migration/0]
S:睡眠
s:父进程
D:不能被中断的进程(通常为IO)
T:已经暂停或停止的进程ps
R:正在运行
<:高优先级
N:低优先级
l:多线程的
L:被锁的
+:在前台的进程
pgrep 进程:过滤出进程的PID
pgrep nginx:过滤出nginx的PID
netstat -lnp:查看监听端口、IP、Socket
-lntp
-lnup
netstat -an:查看所有的
netstat -an | grep -ic estab:查看并发
7、sar:
sar -n DEV 1 10:每秒显示1次,共显示10次。查看网卡流量
Linux 2.6.32-431.el6.i686 (localhost.localdomain) 2015年02月12日 _i686_ (1 CPU)
03时35分21秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
03时35分22秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
03时35分22秒 eth0 1.00 1.00 0.06 0.04 0.00 0.00 0.00
平均时间: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
平均时间: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均时间: eth0 1.00 1.00 0.06 0.04 0.00 0.00 0.00
主要看第5、6列
rxkB/s txkB/s
上传速度(字节每秒) 下载速度(字节每秒)
sar -n DEV -f /var/log/sa/sa20:从日志中选择显示历史流量
sar -n DEV -f /var/log/sa/sa24
查看历史负载 sar -q
查看磁盘读写 sar -b