1.[root@localhost ~]# w // 从左边依次为时间,系统运行时间,登录用户数,平均负载。第二行告诉我们当前登录的都有哪些用户,以及他们从哪里登录等等。我们应该最关心的时候load average后面三个参数,第一个表示1分钟内系统的平均负载值;第二个表示5分钟系统的平均负载值;第3个为15分钟的平均负载值,如果这个值越大说明你的服务器压力越大。一般这个值不超过你cpu的数量就没关系,cpu的数量可以用grep -c 'processor' /proc/cpuinfo
08:32:19 up 3 min, 2 users, load average: 0.42, 0.74, 0.34
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 08:30 1:17 0.09s 0.09s -bash
root pts/0 192.168.40.41 08:32 0.00s 0.06s 0.01s w
2.[root@localhost ~]# 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 127192 20884 168676 0 0 83 12 60 48 1 2 97 1 0
procs 显示进程相关信息
r :表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用了;
b :表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要你关注一下了;
2)memory 内存相关信息
swpd :表示切换到交换分区中的内存数量 ;
free :当前空闲的内存数量;
buff :缓冲大小,(即将写入磁盘的);
cache :缓存大小,(从磁盘中读取的);
3)swap 内存交换情况
si :由内存进入交换区的数量;
so :由交换区进入内存的数量;
4)io 磁盘使用情况
bi :从块设备读取数据的量(读磁盘);
bo: 从块设备写入数据的量(写磁盘);
5)system 显示采集间隔内发生的中断次数
in :表示在某一时间间隔中观测到的每秒设备中断数;
cs :表示每秒产生的上下文切换次数;
6)CPU 显示cpu的使用状态
us :显示了用户下所花费 cpu 时间的百分比;
sy :显示系统花费cpu时间百分比;
id :表示cpu处于空闲状态的时间百分比;
wa :表示I/O等待所占用cpu时间百分比;
st :表示被偷走的cpu所占百分比(一般都为0,不用关注);
以上所介绍的各个参数中,笔者经常会关注r列,b列,和wa列,三列代表的含义在上边说得已经很清楚。IO部分的bi以及bo也是我要经常参考的对象。如果磁盘io压力很大时,这两列的数值会比较高。另外当si, so两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
3.[root@localhost ~]# free -m //查看内存剩余看第二行参数。
total used free shared buffers cached
Mem: 454 329 124 0 20 164
-/+ buffers/cache: 144 309
Swap: 2047 0 2047
4.[root@localhost ~]# ps aux //查看进程
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 10368 684 ? Ss 08:28 0:01 init [3]
root 2 0.0 0.0 0 0 ? S< 08:28 0:00 [migration/0]
root 3 0.0 0.0 0 0 ? SN 08:28 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S< 08:28 0:00 [watchdog/0]
root 5 0.0 0.0 0 0 ? S< 08:28 0:00 [events/0]
root 6 0.0 0.0 0 0 ? S< 08:28 0:00 [khelper]
root 7 0.0 0.0 0 0 ? S< 08:28 0:00 [kthread]
root 9 0.0 0.0 0 0 ? S< 08:28 0:00 [xenwatch]
root 10 0.0 0.0 0 0 ? S< 08:28 0:00 [xenbus]
PID :进程的id,这个id很有用,在linux中内核管理进程就得靠pid来识别和管理某一个程,比如我想终止某一个进程,则用 ‘kill 进程的pid’,有时并不能杀掉,则需要加一个-9选项了’kill -9 进程pid’
STAT :表示进程的状态,进程状态分为以下几种(不要求记住,但要了解)
D 不能中断的进程(通常为IO)
R 正在运行中的进程
S 已经中断的进程,通常情况下,系统中大部分进程都是这个状态
T 已经停止或者暂停的进程,如果我们正在运行一个命令,比如说sleep 10,如果我们按一下ctrl -z 让他暂停,那么我们用ps查看就会显示T这个状态
W 这个好像是说,从内核2.6xx 以后,表示为没有足够的内存页分配
X 已经死掉的进程(这个好像从来不会出现)
Z 僵尸进程,杀不掉,打不死的垃圾进程,占系统一小点资源,不过没有关系。如果太多,就有问题了。一般不会出现。
< 高优先级进程
N 低优先级进程
L 在内存中被锁了内存分页
s 主进程
l 多线程进程
+ 代表在前台运行的进程
这个ps命令是笔者在工作中用的非常多的命令之一,所以请记住它吧。关于ps命令的使用,笔者经常会连同管道符一起使用,用来查看某个进程或者它的数量。
本文转自zh888 51CTO博客,原文链接:http://blog.51cto.com/zh888/1169025,如需转载请自行联系原作者