由于面试中遇到了top命令,而自己答的不是很充分。现特意整理起来,希望可以帮助到你。祝君面试顺利。
top - 10:14:07 up 3:51, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 97 total, 2 running, 95 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 995896 total, 563672 free, 140168 used, 292056 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 670428 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 128056 6696 4180 S 0.0 0.7 0:01.72 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.16 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
1.第一行内容
内容 | 含义 |
---|---|
10:14:07 up 3:51 | 开始运行时间 |
2user | 登录用户数量 |
load average: 0.00, 0.01, 0.05 | 负载均衡:1min,5min,15min |
重点:
当负载均衡值除以逻辑cpu的个数大于5的话,就可以认为超负荷。
如假设系统有两个CPU,那么其每个CPU的当前任务数为:0.05/2=0.025。这表示该系统的性能是可以接受的。
2.第二行内容(*)
Tasks:97 total,2 running,95 sleeping,0 stopped,0 zombie
这里指的是,进程任务数量总数为97,正在运行2,睡眠状态95,停止状态0,僵尸状态为0.
3.第三行内容(*)
%Cpu(s):0.0 us,0.0 sy,0.0 ni,100.0 id,0.0 wa,0.0 hi,0.0 si,0.0 st
Cpu占用时间比例:us(用户态)|sy(内核态)|ni(运行低优先级进程)
id(空闲cpu)|wa(处于IO等待)|hi(处理硬中断)|si(处理软中断)|
st(当前系统运行在虚拟机的时候,被其他虚拟机占用的cpu时间比例)
4.第四行内容
KiB Mem :995896 total,563672 free,140168 used,292056 buff/cache
物理内存:total(总量)|free(空闲内存)|used(已经使用的)|
buff/cache(缓冲区)
注意:
两者都是:缓冲区
cache是存在于cpu和内存之间的缓冲区,存放的是从disk上读取到的数据
buff是用于存放要输出到块存储的数据
5.第五行内容
KiB Swap:2097148 total,2097148 free,0 used.670428 avail Mem
交换区:total(总量)|free(空闲)|used(使用的交换区)|
avail Mem(代表下一次可用于进程分配的物理内存)
重点:
Swap分区在系统的运行内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
内容 | 含义 |
---|---|
PID | 进程ID |
USER | 创建进程的用户 |
PR | 进程优先级 |
NI | nice值。越小越优先,负值表示高优先级 |
VIRT | 进程使用的虚拟内存总量,单位kb.VIRT=SWAP+RES |
RES | 进程使用的,未被换出的物理内存大小 |
S | 进程状态。D不可中断,R运行,S睡眠,Z僵尸 |
%CPU | CPU时间占用比例 |
%MEM | 内存占用比例 |
TIME+ | 进程使用的CPU时间总计,单位为0.01s |
COMMAND | 命令名 |
参数 | 含义 |
---|---|
-d | 表示top显示页面更新间隔 |
-p | 指定pid进程进行观察 |
-b | 分批次的方式执行top |
-n | 与-b配合使用,表示需要进行几次top命令的输出结果。 |
参数 | 含义 |
---|---|
P | 以CPU的使用资源排序 |
M | 以内存的方式进行排序 |
N | 以PID进行排序(由大到小) |
T | 以进程使用时间排序 |
k | 用来杀死进程 |
r | 给pid重新定制一个nice值 |
1 | 可以监控每个逻辑CPU的状况 |
b | 打开/关闭高亮效果 |
x | 打开/关闭列的高亮效果 |
s | 刷新时间间隔(默认3s刷新一次) |
”shift + >”或”shift + <” | 可以向右或左改变排序列** |