w 命令
[root@Time ~]# w
22:34:04 up 13 days, 23:04, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 183.17.81.150 19:34 0.00s 0.05s 0.00s w
load average 的三个数值
系统一、五、十五分钟之内的平均负载
这个值不超过 /proc/cpuinfo 中 process 记录的核数就不担心负载。
系统时间校准:
ntpdate time.windows.com
没这个命令,就 yum install ntp
22:34:04 up 13 days, 23:04, 1 user
系统时间,运行了13天23小时04分,当前一个用户登录
LOGIN@
19:34
登陆时间,从几点开始登录的
IDLE 空闲时间 指用户多久没有敲命令了
JCPU 当前登录端所有正在运行进程占用的CPU的时间
PCPU 当前命令占用的CPU的时间
WHAT 当前使用的命令
# uptime
显示的信息和 w 命令的第一行是一样的
vmstat
[root@Time ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 708 75296 181616 439852 0 0 0 2 4 1 0 0 99 0 0
0 0 708 75272 181616 439852 0 0 0 0 2110 68 0 1 99 0 0
0 0 708 75272 181616 439852 0 0 0 0 2247 70 2 2 97 0 0
0 0 708 75272 181616 439852 0 0 0 0 2131 63 0 1 99 0 0
0 0 708 75892 181616 439852 0 0 0 4 2146 166 1 2 97 0 0
0 0 708 75388 181616 439856 0 0 0 28 2131 100 2 1 96 1 0
0 0 708 75388 181616 439856 0 0 0 0 2121 67 0 1 99 0 0
(1) procs 显示进程相关信息
r:表示运行和等待 cpu 时间片的进程数。如果长期大于服务器 cpu 的个数,则说明 cpu 不够用了。
b:表示等待资源的进程数。被 IO 阻塞的任务。比如,等待 I/O、内存等,带宽跑满了数据无法通过网络传输出去等。这列的值如果长时间大于 1,则需要关注一下了。
(2) memory 内存相关信息
swpd:表示切换到交换分区中的内存数量,如果数值不大且变化不频繁则没关系。
free:当前空闲的内存数量
buff:缓冲大小,(即将写入磁盘的)
cache:缓存大小,(从磁盘中读取的)
(3) swap 内存交换情况
对象是内存
si:由交换区写入到内存的数据量
so:由内存写入到交换区的数据量
(4) io 磁盘使用情况
对象是内存
bi:从块设备读取数据的量(读磁盘)
bo:从块设备写入数据的量(写磁盘)
普通硬盘长时间超过 1000 就表示磁盘压力大。
(5) system 显示采集间隔内发生的中断次数
in:表示在某一时间间隔中观测到的每秒设备中断数
cs:表示每秒产生的上下文切换次数
cs,上下文切换属于cpu的一个范畴,简单讲就是cpu不能在同一时刻去处理多个任务,只能在一个时间点处理一个任务,但是每个任务分配的时间片是有限的,所以,任务1走完给它分配的时间片,就该任务2占用cpu了,这时候任务1到任务2就是上下文切换。
(6)CPU 显示 cpu 的使用状态
us:显示了用户下所花费 cpu 时间的百分比
(若时常高于50或接近于100%,则说明某一个进程使用CPU很大的资源,需进行优化)
sy:显示系统花费 cpu 时间百分比
id:表示 cpu 处于空闲状态的时间百分比
wa:表示 I/O 等待所占用 cpu 时间百分比
st:表示被偷走的 cpu 所占百分比(一般都为 0,不用关注)
top
[root@Time ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 708 75296 181616 439852 0 0 0 2 4 1 0 0 99 0 0
0 0 708 75272 181616 439852 0 0 0 0 2110 68 0 1 99 0 0
0 0 708 75272 181616 439852 0 0 0 0 2247 70 2 2 97 0 0
0 0 708 75272 181616 439852 0 0 0 0 2131 63 0 1 99 0 0
0 0 708 75892 181616 439852 0 0 0 4 2146 166 1 2 97 0 0
0 0 708 75388 181616 439856 0 0 0 28 2131 100 2 1 96 1 0
0 0 708 75388 181616 439856 0 0 0 0 2121 67 0 1 99 0 0
Tasks: 181 total, 1 running, 180 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.3%hi, 0.2%si, 0.0%st
Mem: 1012616k total, 936256k used, 76360k free, 181640k buffers
Swap: 2031608k total, 708k used, 2030900k free, 439952k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22277 root 20 0 15032 1296 952 R 0.7 0.1 0:01.36 top
1 root 20 0 19356 1476 1224 S 0.0 0.1 0:08.66 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:01.19 migration/0
默认3秒钟刷新一次
-d 1:指定1秒刷新一次
-c: COMMAND 列显示更全
默认占用 cpu 最高的进程排在第一行
M 按内存使用大小排序
PID:进程号
USER:以哪个用户运行
PR:线程优先级,范围[0, 40),实时优先级的线程显示为RT。值越小优先级越高
NI:Nice值,范围[-20, 20),PR值为初始线程优先级加上Nice值。
PR 和 NI 值都是从 proc文件系统中读取得到 “/proc/[pid]/stat”,两值相加等于20
VIRT:用了多少虚拟内存
RES:用了多少物理内存
SHR:共享内存
TIME+:使用cpu的时间
COMMAND:进程相关信息
top -bn1
一次性打印出来