一、监控系统状态
[root@Centos1 ~]# w
10: 36: 52 =>系统当前时间;
up 11: 47 => 以运行0天11小时;
1 user =>当前有1个用户登录;
load average => 负载;
第一个0.00表示1分钟之内有多少进程使用cpu, 数值大于CPU盒数则负载过高;
第二个0.00表示5分钟之内有多少进程使用cpu, 数值大于CPU盒数则负载过高;
第三个0.00表示15分钟之内有多少进程使用cpu, 数值大于CPU盒数则负载过高;
FROM =>登录IP;
[root@Centos1 ~]# vmstat 1 10 #每秒钟显示一次, 显示10次结束;
r =>表示运行和等待CPU时间片的进程数, 如果长时间大于服务器CPU个数, 则说明CPU不够用了.
b =>表示等待资源的进程数, 比如等待I/O, 内存等. 这列的值如果长时间小于1,则需要关注下了;
si =>由交换区进入内存的数量;
so =>由内存进入交换区的数量;
bi =>从块设备读取数据的量(读磁盘);
bo =>从块设备写入数据的量(写磁盘);
in =>每秒的中断次数, 包含时钟终端;
cs =>每秒的上下文切换次数;
wa =>表示I/O等待所占用cpu时间百分比;
[root@Centos1 ~]# ab -n 10000 -c 100 'URL'
ab => apache自带压力测试工具;
-n => 请求10000次;
-c => 每一次并发100;
[root@Centos1 ~]# top #动态监控进程所占用系统资源
Tasks =>进程总数
1 running =>运行进程数
74 sleeping =>休眠进程数
0 stopped =>停止进程数
0 zombie =>僵死进程数
按数字'1'显示CPU盒数;
按shitf+m查看内存使用率;
[root@Centos1 ~]# top -c #显示完整的COMMAND; [root@Centos1 ~]# top -bn1 #查看完top自动退出; [root@Centos1 ~]# ps -l
[root@Centos1 ~]# ps -aux | head -5 #查看进程
PID =>进程的pid, 这个id很有用, 在linux中内核管理进程就得靠pid来识别和管理某一个进程,比如我想终止某一个进程,则用kill PID,有时杀不掉, 则使用kill -9 PID.
STAT =>表示进程的状态, 进程分为以下几种
D: 不能中断的进程(通常为I/O)
R: 正在运行中的进程
S: 已经中断的进程, 系统中大部分进程都是这个状态
T: 已经停止或者暂停的进程
X: 已经死掉的进程
Z: 僵尸进程, 杀不掉,打不死的垃圾进程, 占系统一小点资源, 不过没有关系,如果太多就有问题
<: 高优先级进程
N: 低优先级进程
L: 在内存中被锁了内存分页
s: 主线程
l: 多线程进程
+: 在前台的进程
[root@Centos1 ~]# free -m #查看系统内存使用情况
free以k为单位显示, -m以M为单位, -g以G为单位
mem(total) =>内存总数
mem(used) =>已经分配的内存
mem(free) =>未分配的内存
mem(buffers) =>系统分配但未被使用的buffers
mem(cached) =>系统分配但未被使用的cache
buffers/cache(user) =>实际使用的buffers与cache总量, 也是实际使用的内存
buffers =>即将要被写入磁盘的
cache =>是被从磁盘中读出来的
[root@Centos1 ~]# netstat -an | head -4 #查看端口
[root@Centos1 ~]# yum -y install sysstat #没有sar则安装此包; [root@Centos1 ~]# sar -n DEV #查看网卡流量;
[root@Centos1 ~]# sar -q #查看历史负载; [root@Centos1 ~]# sar -b #查看磁盘读写