top命令使用浅析

top命令提供了实时监控CPU相关数据的能力

一. 命令参数

top [-] [d delay] [p pid] [q] [c] [C] [S] [s] [i] [n iter] [b] [u]

  • d delay 每次刷新间隔,单位是秒

    如:每隔两秒刷新 top -d 2

  • p pid 进程ip,可以使用 ps -ef 查询相关进程信息。

    top -p 123

  • q 无延迟刷新
  • c 显示整个命令行,而不是显示命令名
  • C 显示CPU整体信息,仅对SMP系统有效
  • S 指定累计模式
  • s 使 top 命令在安全模式中运行。这将去除交互命令所带来的潜在危险
  • i 使 top 不显示任何闲置或者僵死进程
  • n iter 指定 top命令迭代输出的次数,iter为具体的迭代次数值
  • b "Batch"方式运行top,在这种方式下,所有来自终端的输入都将被忽略(当然除了ctrl+c),该参数可以结合参数“n"运行指定迭代次数退出或者该进程被杀死。这是运行top输出到哑终端或输到非终端的默认运行方式
  • u 监控user用户所拥有的进程

二. 运行时命令参数

  • s 改变画面更新频率,需要键入刷新频率,如1s
  • l 关闭或开启第一部分第一行 top 信息的表示
  • t 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
  • m 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
  • N 以 PID 的大小的顺序排列表示进程列表(第三部分后述)
  • P 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)
  • M 以内存占用率大小的顺序排列进程列表 (第三部分后述)
  • h 显示帮助
  • n 设置在进程列表所显示进程的数量
  • q 退出 top

三. 输出参数

在这里插入图片描述

3.1 第一部分 系统信息栏
3.1.1 第一行(top)

top - 15:41:50 up 1 day, 23:08, 2 users, load average: 1.16, 1.61, 1.86

  • 15:41:50 当前时间
  • 23:08 系统从启动到现在的运行时间
  • 2 users 登陆到系统的用户数(终端数)
  • load average 当前系统负载的平均值,后面的三个值分别为16分钟前、61分钟前、86分钟前进程的平均数,一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程 load average介绍
3.1.2 第二行(Tasks)

Tasks: 144 total, 2 running, 142 sleeping, 0 stopped, 0 zombie

  • total 当前系统总进程数
  • running 当前正在运行的进程数
  • sleeping 当前处于等待状态的进程数
  • stopped 被停止的进程数
  • zombie 僵尸进程
3.1.3 第三行(Cpus)

%Cpu(s): 0.0 us, 3.2 sy, 3.2 ni, 93.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

  • 分别表示了 CPU 当前的使用率
3.1.4 第四行(Mem)

KiB Mem : 7896532 total, 197976 free, 3937820 used, 3760736 buff/cache

  • total 运行内存总量
  • free 空闲内存量
  • used 已经使用的内存量
  • buff/cache 用做内核缓存的内存量
3.1.5 第五行(Swap)

KiB Swap: 0 total, 0 free, 0 used. 3700620 avail Mem

  • total 交换分区内存总量
  • free 交换区空闲内存量
  • used 交换区已使用内存量
  • avail Mem 交换区可用内存量
  • 通常交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的
3.2 第二部分 进程信息
  • PID 进程标识符
  • USER 进程所有者用户名
  • PR/PRI 进程执行的优先级
  • NI NICE值,负值表示高优先级,正值表示低优先级
  • VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  • SHR 共享内存大小,单位kb
  • S/STAT 进程状态
    • D:不可中断的睡眠状态
    • R:正在运行,或在队列中的进程
    • S:处于休眠状态
    • T:停止或被追踪
    • Z:僵尸进程
    • W:进入内存交换
    • X:死掉的进程
  • %CPU 上次更新到现在的CPU时间占用百分比
  • %MEN 进程使用的物理内存百分比
  • TIME+ 该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值(单位1/100s)
  • COMMAND 进程被执行的命令名称

四. CPU文件

CPU文件:/proc/cpuinfo

  • 物理CPU数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
  • CPU核数
cat /proc/cpuinfo| grep "cpu cores"| uniq
  • 逻辑CPU个数
cat /proc/cpuinfo| grep "processor"| wc -l
  • 查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

一般,逻辑CPU = 物理CPU数 * 核数,如果不等则说明CPU支持超线程技术(可使处理器中的1 颗内核如2 颗内核那样在操作系统中发挥作用。这样一来,操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能,此时逻辑cpu=物理CPU个数×每颗核数x2)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值