一 如何看查占用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)

疑问:

为啥用fgrep,跟grep比有啥优势吗?因为纯文本过滤,fgrep会更快。

几个线上问题追查的常用命令相关推荐

  1. JAVA线上问题排查及常用命令

    前言 线上问题排查是程序员绕不开路.线上故障主要会包括 CPU.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍.同时例如 jstack.jm ...

  2. 线上基础问题排查常用手册

    线上基础问题排查常用手册 问题分类 业务问题 日志排查 代码逻辑排查 配置排查 性能问题 接口问题 JVM问题 Redis问题 MySQL问题 系统问题 实施手段 日志排查 阿里云 参考: https ...

  3. Docker在CentOS7上的安装及常用命令

    Docker简介:Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制 ...

  4. linux 安装上传文件,linux常用命令(二)文件上传下载及软件安装

    1.上传下载工具安装 (1)WINDOWS 到linux的文件上传及下载: windows下打开secureCRT,通过SSH连到⾄至远程linux主机: 上传下载工具安装命令:yum -y inst ...

  5. 【Ubuntu-screen】服务器上使用screen的常用命令

    简单记录一下自己常常在服务器上训练模型时,常用的几个screen命令,有了他们,再也不怕断电关机还要重新训练模型了 screen 常用的几个命令:  screen -S name 启动一个名字为nam ...

  6. linux中代码挂上n,Linux系统常用命令nl详解(示例代码)

    nl命令在linux系统中用来计算文件中行号.nl可以将输出的文件内容自动的加上行号!其默认的结果与cat -n有点不太一样,nl可以将行号做比较多的显示设计,包括位数与是否自动补齐0等等的功能.本文 ...

  7. mysql基础命令返回上一级_MySQL基础 — 常用命令

    一.连接MySQL 格式:mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MySQ: 首先在打开cmd窗口,输入mysql -uroot -p ,然后空格进入MySQL控制台,M ...

  8. jpa,分析duid参数,当前用户的最大线程数,线上问题排查,stack命令查看占用CPU高的线程堆栈信息

    1.先查看应用进程号: ps -ef | grep 应用名 ,也就是 pid 2.查看pid垃圾回收情况: jstat -gc pid 5000(时间间隔) 3.dump jvm二进制的内存详细使用情 ...

  9. 线上问题排查思路总结

    前言: 本文总结一些常见的线上问题和对应的排查思路,工具.对于线上问题,我们必须记住一个原则:尽快恢复服务,消除影响.不管出于应急的哪个阶段,我们首先必须想到的是恢复问题,恢复问题并不意味着必须在当下 ...

最新文章

  1. 完全平方数(打表+二分)
  2. python matplotlib散点图-Matplotlib scatter绘制散点图的方法实现
  3. C/C++语言入门篇 -- 文件操作
  4. 【centos6.5 安装 node.js + npm】
  5. 面向对象编程02—装饰器、类方法、静态方、访问控制
  6. MySQL教程(一)—— 数据库设计
  7. laravel -admin 禁止某一行删除
  8. bootsrap 外边距_Bootstrap CSS 概览
  9. 【HTML】iframe嵌套界面自适应,可高度自由收缩
  10. UVA490 Rotating Sentences【输入输出+水题】
  11. Google Borg论文
  12. Laravel 数据库迁移
  13. 智能合约漏洞检测论文整理
  14. threejs特效:选中效果
  15. 通讯模块 CI854AK01 3BSE030220R1
  16. 常用数据集预处理(dota)
  17. python好找工作吗-该醒醒了,Python没有那么容易找工作
  18. 怎么做抖音故障艺术风格人物照片效果
  19. Red Panda DEV-C++6.7.5
  20. uml:什么是数据流图

热门文章

  1. 微信小程序+nginx+php+mysql实现数据库管理【第二期】小程序端的操作
  2. java poi 写word word 合并行 word合并列
  3. 遮罩层与被遮罩层的闪烁问题
  4. 1.9 聪明的投资者:投资者与市场波动
  5. Decorators(修饰器)
  6. 怎么写出高阅读文章,爆款文章写作技巧
  7. 2022的1024:聊聊从前学习写程序的经历
  8. 计算机教师的人生格言,教师人生格言座右铭(精选60句)
  9. 想让字体更有吸引力?来学下字体设计的断舍离!
  10. python 爬虫 基础网站