线上负载过高排查(top/vmstat/ifstat/free/df)

目录

一、五大命令

二、故障排查步骤

1、top命令找出CPU占比最高的

2、ps -ef 或者 jps -l进一步定位

3、ps -mp位到具体线程或者代码

4、jstack精准定位到错误的地方


本文通过学习:周阳老师-尚硅谷Java大厂面试题第二季 总结的Linux+JDK命令操作相关的笔记

一、五大命令

模块命令

说明

整机

top

重点关注的是 %CPU、%MEM 、load average 三个指标。在这个命令下,按1的话,可以看到每个CPU的占用情况。也可用uptime(系统性能命令的精简版)

CPUvmstat

vmstat -n 2 3

第一个参数是采样的时间间隔数(秒),第二个参数是采样的次数

网络ifstat

内存free

free -h:以人类能看懂的方式查看物理内存

free -m:以MB为单位,查看物理内存

free -g:以GB为单位,查看物理内存

硬盘

df

du

iostat

(1)df -h    以人类能看到的方式换算

(2)du -h ./*

(3)iostat -xdk 2 3  查看I/O

系统慢有两种原因引起的,一个是CPU高,一个是大量IO操作

rkB /s:每秒读取数据量(kB)

wkB/s:每秒写入数据量(kB)

svctm I/O:请求的平均服务时间(毫秒)

await I/O:请求的平均等待时间(毫秒),值越小,性能越好

(svctm的值与await的值很接近,表示几乎没有I/O等待,磁盘性能好,如果await的值远高于svctm的值,则表示I/O队列等待太长,需要优化程序或更换更快磁盘)

util:一秒钟有百分几的时间用于I/O操作。接近100%时,表示磁盘带宽跑满,需要优化程序或者增加磁盘。

二、故障排查步骤

1、top命令找出CPU占比最高的

  

2、ps -ef 或者 jps -l进一步定位

3、ps -mp位到具体线程或者代码

ps -mp 进程ID -o THREAD,tid,time

-m   显示所有的线程
-p   pid进程使用cpu的时间
-o   该参数后是用户自定义格式

 

4、jstack精准定位到错误的地方

jstack 十进制进程ID | grep 小写十六进制线程ID -A60

十进制进程ID = 5101,5102转为小写十六进制线程ID = 13ee, -A60输出60行

 

package com.atguigu.test;


public class JavaDemo02{
    public static void main(String[] args){
        while(true) {
         System.out.println(new java.util.Random().nextInt(77778888));
        }
    }
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28190.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决Linux 负载过高问题过程记录

解决问题的思路 1.top命令查看该机器的负载状况 2.cd /proc/pid 查看对应高占用程序的位置 3.进入对应程序中查看日志,根据CPU和内存这两个因素分析 4.ps -ajxf 查看进程及其之下的线程,通过stat查看是否存在D僵尸进程 1.什么是负载过高 1.1load A…

假如ChatGPT 去面试前端工程师,结果会怎么样?

近日,有个叫 ChatGPT 的同学来我司面试前端,考考他面试八股文。先来问问闭包。 第一问,说说 JS 闭包 追问,详细讲讲闭包 由于篇幅太长,转成文字,以下皆为 ChatGPT 回答 闭包是一个非常重要的 JavaScript 概…

青椒肉丝饭

今天第一次来华德吃饭,为了吃这顿饭跑遍了半个上海。 先是去长乐路上的大铁门排挡吃自助,结果人家收摊了,估计都回家过年了吧。 然后又去新华路上的粮仓饭湘,结果人满为患,连个站的地方都没有。 最后回到北新泾这里…

五花青椒包菜

[猪头]每次做完菜,第一口一定要找块好肉尝尝。肉好吃😋,这道菜就差不了,下饭。 ​[调皮]肉不好吃的菜,没有灵魂。 ​[愉快]今天的菜,五花肉青椒土豆包菜。

青椒肉丝

青椒肉丝 材料 15元的肉丝 一根葱 两个辣椒 生粉,盐,油 步骤 1.开煤气,将锅烧热,小火炖下肥肉得到猪油,将残渣捞出 2.切好的肉丝撒上生粉,摔摔肉,弄匀 3.倒入油(满锅底&#xff…

java设计模式之一(工厂模式)

何为工厂模式? 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑&#xff…

Java 设计模式之迭代器模式

一、了解迭代器模式 1.1 什么是迭代器模式 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 迭代器模式把游走的任务放在迭代器上,而不是聚合上。这样简化了聚合的接口和实现,也可以让责任各得其所。 …

【菜谱】青椒肉丝

【菜谱】青椒肉丝 食材配料步骤准备工作开始制作 成果展示 下周一上班,今天回家收拾东西。虽然是个程序员,但是也想炒一手好菜,就先在家里练习了,意外的发现还不错! 食材 猪里脊肉 175g (老妈就给我拿了这…

Java设计模式实现烹饪助手程序

Java设计模式实现烹饪助手程序 一. 程序设计目标和使用说明 1、程序设计目标 该程序在eclipse4.6.3版本中完成,用的是jdk1.7。     该程序的设计目的是为了学习java设计模式,应用其中的几个模式编写一个程序,在编写程序的过…

博士毕业,高校青椒还是30万年薪私企?

来源 | 知乎 网址 | https://www.zhihu.com/question/58594731 编辑 | 深度学习与计算机视觉 声明:仅做学术分享,侵删 年龄不占优势,高校稳定,企业收入高,如何选择? 作者:光子https://www.zhihu…

java设计模式-迭代器模式

java设计模式-迭代器模式 一、了解迭代器模式 1.1 什么是迭代器模式 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 迭代器模式把游走的任务放在迭代器上,而不是聚合上。这样简化了聚合的接口和实现,也…

3D设计云桌面

青椒云3D设计桌面云方案,为使用GPU高负载应用的设计师们提供强大支持,如3D建模、光线追踪、渲染计算等领域,带来极致流畅的3D设计桌面体验,同时提升工作效率、可管理性和安全性。3D设计桌面云方案满足了工业客户在专业设计场景中的以下需求 1、强大的图形计算引擎保证专业…

设计模式-建造者模式

设计模式-建造者模式 传统模式类JDK8的Builder 别名:创建者模式 建造者模式针对复杂对象,分离它们的构建与表示,达到同样构建过程创建不同表示的目的。 建造者模式封装了复杂对象的构建过程,通过子类继承或者重载的方式&#xff0…

设计模式---工厂模式

工厂模式 具体的需求 看一个披萨的项目:要便于披萨种类的扩展,要便于维护 披萨的种类很多(比如 GreekPizz、CheesePizz 等) 披萨的制作有 prepare、bake、cut、box 完成披萨店订购功能 public abstract class Pizza {protect…

浅谈设计模式

状态模式 核心思想就是用于解决一个物体在不同状态下复杂的逻辑行为,比如一个英雄有待机状态,行走状态,攻击状态,以后可能还会添加眩晕状态,冰冻状态一系列状态。 如果使用平常代码来写的话,就会使用分支语…

青椒开计算机课,不断学习 砥砺前行——揭开青椒成长的秘密

从上海到梧州,1700多公里;从2017年9月到今天,300多个日子。我们在互联网结缘,我们在互加遇见。于是,便开始了一路美丽的相伴,相伴在“互加”,相伴在“青椒”,相伴在“美丽乡村”………

了解计算机软件系统教学设计,认识计算机》教学设计

认识计算机》教学设计 作为一名教职工,就有可能用到教学设计,教学设计一般包括教学目标、教学重难点、教学方法、教学步骤与时间分配等环节。那么什么样的教学设计才是好的呢?以下是小编整理的认识计算机》教学设计,仅供参考&…

Java 设计模式——组合模式

概述 有时我们可能会被要求处理一个层级结构明显的对象,比如上下级的公司员工、比如层级嵌套的文件夹,还有丰富多彩的美食菜单。可是,我们可能要屡试不爽地编写深度搜索代码、要小心翼翼地编写递归逻辑。现在你可以忘掉这些,学习…

设计模式之模板方法模式

概述 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。 例如&#…

matlab 滤波器设计工具,滤波器设计工具快速入门

滤波器设计工具快速入门 要打开滤波器设计工具,请键入 filterDesigner(在 MATLAB 命令提示符下键入。) 将打开滤波器设计工具并显示“设计滤波器”面板。 请注意,当您打开设计滤波器并未启用。您必须对默认滤波器设计进行更改以启用设计滤波器。每次您要更改滤波器设计时,均…