top命令详解

top命令详解

对于程序员来说比较头疼的问题就是测试环境好好的程序在线上运行的时候突然出现内存或者cpu飚高的问题

排查问题的时候首先就敲一个top命令查看一下,那么top命令查出来的1数值分别是什么含义

在这里插入图片描述

cpu

第一行 cpu实时占用率

在这里插入图片描述

最醒目的是load average参数,后面分别跟着三个值,代表过去的1分钟,5分钟,15分钟的cpu占用率的统计值。

一般情况load average的数值不超过机器的总物理核数就问题不大。

飚高的可能性有cpu进行密集计算,或者io导致运行队列堵了,具体要结合另外两行的数值做综合分析

第二行 进程

在这里插入图片描述

第三行 cpu占用详情

在这里插入图片描述

us: 用户进程占CPU的使用率
sy: 系统进程占CPU的使用率
ni: 用户进程空间改变过优先级
id: 空闲CPU占用率
wa: 等待输入输出的CPU时间百分比
hi: 硬件的中断请求
si: 软件的中断请求
st: steal time

比较常用的就是us和sy这两个参数,us

第四五行 内存信息

在这里插入图片描述

五行以下

在这里插入图片描述

PID:进程id
USER:进程所有者
PR:优先级。数值越大优先级越高
NI:nice值,负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量
SWAP:进程使用的虚拟内存中被换出的大小
RES:进程使用的、未被换出的物理内存大小
SHR:共享内存大小
SHR:共享内存大小
S:进程状态。D表示不可中断的睡眠状态;R表示运行;S表示睡眠;T表示跟踪/停止;Z表示僵尸进程。
%CPU:上次更新到现在的CPU占用百分比 ;
%MEM:进程使用的物理内存百分比 ;
TIME+:进程使用的CPU时间总计,单位1/100秒;
COMMAND:命令名/命令行

进程的具体信息,跟平时windows系统上的任务管理器详情比较类似

根据这个信息就可以找出具体是那些进程消耗资源比较多,根据它来优化代码就可以了

当然也可以加机器

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值