摘自:http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=7769&extra=page%3D1%26filter%3Dtypeid%26typeid%3D36
监控系统状态 – w, vmstat
命令w, uptime
system load averages 单位时间段内活动的进程数
查看cpu的个数和核数
vmstat 1
vmstat 1 10
vmstat各指标含义:
r :表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用了;
b :表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注一下了
si :由交换区进入内存的数量;
so :由内存进入交换区的数量;
bi :从块设备读取数据的量(读磁盘);
bo: 从块设备写入数据的量(写磁盘);
in : 每秒的中断次数,包含时钟中断;
cs : 每秒的上下文切换次数;
wa :表示I/O等待所占用cpu时间百分比.
监控系统状态 – top
用于动态监控进程所占系统资源,每隔3秒变一次。
RES 这一项为进程所占内存大小,而 %MEM 为使用内存百分比。在 top状态下,按 “shift + m”, 可以按照内存使用大小排序。按数字 ‘1’ 可以列出各颗cpu的使用状态。
top -bn1 它表示非动态打印系统资源使用情况,可以用在shell脚本中
top -c 最右侧的命令可以显示更详细的信息
监控系统状态 – sar
没有这个命令,使用yum install -y sysstat
网卡流量 sar -n DEV, sar -n DEV 1 10
sar -n DEV -f /var/log/sa/sa24
查看历史负载 sar -q
查看磁盘读写 sar -b
free查看系统内存使用情况
free以k为单位显示 -m以M为单位 -g以G为单位
mem(total):内存总数; mem(used):已经分配的内存; mem(free):未分配的内存; mem(buffers):系统分配但未被使用的buffers;mem(cached)系统分配但未被使用的cache
buffers/cache(used):实际使用的buffers与cache 总量,也是实际使用的内存; buffers/cache(free):未被使用的buffers与cache和未被分配的内存之和,这就是系统当前实际可用内存
buffers是即将要被写入磁盘的,cache是被从磁盘中读出来的
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 树形显示所有进程
netstat 查看网络状况
netstat -lnp 查看当前系统开启的端口以及socket
netstat -an 查看当前系统所有的连接