几个线上问题追查的常用命令 | 1分钟系列

简介: 如何看查占用cpu最多的进程?如何查看某个端口的连接情况?

1分钟系列,希望大家能有收获。


如何看查占用cpu最多的进程?


方法一

核心指令ps

实际命令

ps H -eo pid,pcpu | sort -nk2 | tail

执行效果如下:

[work@test01 ~]$ ps H -eo pid,pcpu | sort -nk2 | tail

31396  0.6

31396  0.6

31396  0.6

31396  0.6

31396  0.6

31396  0.6

31396  0.6

31396  0.6

30904  1.0

30914  1.0

结果

瞧见了吧,最耗cpu的pid=30914。

画外音:实际上是31396。


方法二

核心指令top

实际命令

top

Shift + t


找到了最耗CPU的进程ID,对应的服务名是什么呢?


方法一

核心指令ps

实际命令

ps aux | fgrep pid

执行效果如下:

[work@test01 ~]$ ps aux | fgrep 30914

work 30914  1.0  0.8 309568 71668 ?  Sl   Feb02 124:44 ./router2 –conf=rs.conf

结果

瞧见了吧,进程是./router2


方法二

直接查proc即可。

实际命令

ll /proc/pid

执行效果如下:

[work@test01 ~]$ ll /proc/30914

lrwxrwxrwx  1 work work 0 Feb 10 13:27 cwd -> /home/work/im-env/router2

lrwxrwxrwx  1 work work 0 Feb 10 13:27 exe -> /home/work/im-env/router2/router2

画外音:这个好,全路径都出来了。


如何查看某个端口的连接情况?


方法一

核心指令netstat

实际命令

netstat -lap | fgrep port

执行效果如下:

[work@test01 ~]$ netstat -lap | fgrep 22022

tcp        0      0 10.58.xxx.29:22022          :                         LISTEN      31396/imui

tcp        0      0 10.58.xxx.29:22022          10.58.xxx.29:46642          ESTABLISHED 31396/imui

tcp        0      0 10.58.xxx.29:22022          10.58.xxx.29:46640          ESTABLISHED 31396/imui


方法二

核心指令lsof

实际命令

lsof -i :port

执行效果如下:

[work@test01 ~]$ /usr/sbin/lsof -i :22022

COMMAND   PID USER   FD   TYPE   DEVICE SIZE NODE NAME

router  30904 work   50u  IPv4 69065770       TCP 10.58.xxx.29:46638->10.58.xxx.29:22022 (ESTABLISHED)

router  30904 work   51u  IPv4 69065772       TCP 10.58.xxx.29:46639->10.58.xxx.29:22022 (ESTABLISHED)

router  30904 work   52u  IPv4 69065774       TCP 10.58.xxx.29:46640->10.58.xxx.29:22022 (ESTABLISHED)


希望这1分钟对大家追查线上问题有帮助。

本文转自“架构师之路”公众号,58沈剑提供。

目录
相关文章
|
前端开发 Java 应用服务中间件
SpringBoot-Run启动流程
探索Spring Boot启动流程,从加载配置、创建应用上下文、自动配置到启动内嵌服务器。启动类是入口点,`@SpringBootApplication`标记启动,`SpringApplication.run`启动应用。自动配置基于条件注解配置Bean,应用上下文由`SpringApplication`创建并刷新。内嵌服务器如Tomcat随应用启动,简化部署。理解此流程有助于深入掌握Spring Boot。
496 2
|
消息中间件 架构师 Java
除了「加机器」,其实你的微服务还能这样优化
除了「加机器」,其实你的微服务还能这样优化
138 0
|
9月前
|
负载均衡 监控 安全
硬件负载均衡和软件负载均衡的性能如何对比?
硬件负载均衡和软件负载均衡的性能如何对比?
412 120
学习计算机组成原理------第一天(额外学的)
这篇文章介绍了计算机系统的层次结构和计算机性能指标,包括存储器性能指标(如MAR和MDR位数对存储容量的影响)、CPU性能指标以及系统整体性能指标。
学习计算机组成原理------第一天(额外学的)
|
JSON 移动开发 前端开发
基于若依的ruoyi-nbcio流程管理系统一种简单的动态表单模拟测试实现(二)
基于若依的ruoyi-nbcio流程管理系统一种简单的动态表单模拟测试实现(二)
236 2
|
SQL 分布式计算 算法
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
230 0
|
开发者
编码之舞:我的编程之旅
编程,对我而言,不仅仅是职业或技能的体现,它更像是一场舞蹈,每一步都蕴含着逻辑与创造的美感。从最初的迷茫到现在的从容,我逐渐在代码的世界里找到了自己的位置。本文将分享我在编程旅途中的个人感悟、面临的挑战以及如何通过持续学习来提升自我。
62 1
|
安全 Shell
某易论坛被植入利用ANI漏洞传播 Backdoor.Win32.Agent.ahj 的代码
某易论坛被植入利用ANI漏洞传播 Backdoor.Win32.Agent.ahj 的代码
|
机器学习/深度学习 算法 安全
【SSA-LSTM】基于麻雀算法优化LSTM 模型预测研究(Matlab代码实现)
【SSA-LSTM】基于麻雀算法优化LSTM 模型预测研究(Matlab代码实现)
845 0
|
SQL 存储 关系型数据库
PolarDB-X Operator 基于两次心跳事务的指定时间点恢复方案介绍
本文将介绍,PolarDB-X Operator将在事务策略为XA事务或者TSO事务时,如何实现全局一致的任意时间点恢复,提出了基于两次心跳事务的恢复方案。