Linux命令——top

由于面试中遇到了top命令,而自己答的不是很充分。现特意整理起来,希望可以帮助到你。祝君面试顺利。

实时进程命令-top

    • 初窥top命令
      • 统计信息
      • 进程信息
    • 参数
      • 命令参数
      • 内置参数

初窥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 + <” 可以向右或左改变排序列**

你可能感兴趣的:(Linux)