10分钟学会分析Top命令

叮咚!这里是玩编程的小豪哥,会记录自己的学习笔记和工作心得,让我们一起开启编程的奇妙冒险吧之旅吧~!

在这里插入图片描述

在这里插入图片描述

背景

今天线上服务器发生了报警【P0】MEM_USED_PERCENT=90.58,内存使用百分比占到了90.58。看到这个报警,大部分彦祖们都会去服务器敲个top命令看看服务器运行情况。今天就来和大家说说,如何使用top命令分析系统性能。
通过top命令,我们可以全面了解当前CPU、内存、进程等一系列当前服务器状态。

首先,我们直接在Linux服务器上输入top,敲回车后就能动态看到当前服务器运行情况,默认是每隔3S刷新一次,这里我截个图给大家分析,别看数据一大堆,听我分析你就会全明白的。
在这里插入图片描述

top命令要一行一行看

首行:系统的整体情况概览
名称               系统运行276天3小时40分钟          系统负载:1分钟/5分钟/15分钟级
top - 19:09:08 up 276 days,3:40,  1 user,  load average: 0.00, 0.02, 0.05
     系统当前时间                当前登录用户数1人       对于单核CPU 1.0表示满负载

第2行:进程状态


进程总任务数:367个     运行进程1个  366个当前睡眠状态  停止进程0个    僵尸进程0个
Tasks:  367 total,   1 running,  366 sleeping,   0 stopped,   0 zombie

第3行:CPU状态

Cpu占用比: 用户空间  内核空间  用户定义优先级  空闲   	等待IO   	硬中断    软中断     虚拟机
%Cpu(s):  0.7 us,  0.5 sy,  0.0 ni, 		98.7 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st

第4-5行: 内存和Swap交换区状态

单位 物理内存         总量            空闲           已使用           内核缓存用量
KiB Mem :  5944564 total,   158904 free,  3020092 used,  2765568 buff/cache
    交换区           总量            空闲           已使用              可用内存
KiB Swap:        0 total,        0 free,        0 used.  2192080 avail Mem

还有最后需要了解的进程状态

 进程ID     优先级 Nice值 虚拟内存 物理内存 共享内存 CPU  内存    CPU总时间 命令
 PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1090 root      20 -10   50088    920    584 S   1.3  0.0   4190:25 rshim
11285 root      20  20 1088692 146912  12332 S   1.0  2.5 602:17.59 YDService
																......

小Tips:NI 负值表示高优先级,正值表示低优先。

top命令快捷操作

看到这里,分析top内容已经难不倒你了,现在再来学习几个帅气的快捷操作。

● shift+e 切换内存显示模式(可重复按键切换)
● z 切换是否彩色显示(可重复按键切换)
● m 切换内存显示模式(可重复按键切换)
● e 切换底部进程中单位的显示模式(可重复按键切换)
● b 切换高亮选中(可重复按键切换)
● W 把当前配置保存到文件中,下次启动top会使用当前的配置
● h 进入帮助菜单 (进入菜单后,可按ESC或q退出帮助菜单)
● q 退出top命令

除此以外,还可以对动态显示的内容进行排序

● 先按f进入字段选择界面,
● 然后按上下键选择要排序的字段,界面会高亮显示,选中合适的内容
● 确定选中操作后,按下s键,激活这个选择。
● 最后按q键退出排序字段选择界面。

结语

看懂上面具体参数后,结合具体报警分析。登录服务器查了下部署的服务,共有10个Java服务,且每个服务设置的-Xmx -Xms都是1344M,那10个服务刚刚跑起来就已经用掉10G机器内存了。最后我们临时的优化方案是降低把一些流量很小的服务初始化堆内存降低一半,减缓服务器压力。

我是 小豪哥学编程,21年校招某科技公司SP,关注我,帮助你互联网少走弯路~!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值