当前位置: 首页 > news >正文

手机app网站制作google play 安卓下载

手机app网站制作,google play 安卓下载,运城做网站哪家好,淘客app网站是怎么做的文章目录 前言一、内存使用过高导致CPU满载案例代码分析思路 二、出现了类似死循环导致cpu负载案例代码分析思路 三、死锁案例代码分析思路 前言 首先线上接口变慢,原因可能有很多,有可能是网络,有可能是慢 SQL,有可能是服务本身…

文章目录

  • 前言
  • 一、内存使用过高导致CPU满载
    • 案例代码
    • 分析思路
  • 二、出现了类似死循环导致cpu负载
    • 案例代码
    • 分析思路
  • 三、死锁
    • 案例代码
    • 分析思路

前言

首先线上接口变慢,原因可能有很多,有可能是网络,有可能是慢 SQL,有可能是服务本身出现了问题,还有可能是机器达到了性能瓶颈。而机器性能瓶颈也又可以分为磁盘 IO 瓶颈、CPU 性能瓶颈、网卡瓶颈等等。

线上接口过慢,排除网络的原因之外无非有以下三点:

  1. 内存使用过高,频繁gc导致cpu占满
  2. 内存使用不高,出现了类似死循环场景
  3. 死锁
    一般在遇到问题的时候先使用top -c 命令查看cpu是否占满,然后再使用free -m查看内存使用率,初步
    判断是上面问题的哪一种,然后再针对这一种问题深入排查。下面来模拟一下以上几种情况:

一、内存使用过高导致CPU满载

案例代码

public class FullGc {public static void main(String[] args) {List<Object> list = new ArrayList<>();for (int i = 0; i < 10000000; i++) {String str = "";for (int j = 0; j < 1000; j++) {str += UUID.randomUUID().toString();}list.add(str);System.out.println(str);}}}

分析思路

  1. 查看负载高的cpu进程id: top -c
    在这里插入图片描述

    这时发现进程id为70719的cpu负载较高

  2. 查看该进程id的线程id: top -Hp 70719
    在这里插入图片描述

    这时发现线程id为70720的线程负载较高

  3. 将十进制的线程id转换为16进制小写的:printf “%x\n” 69476
    在这里插入图片描述

    发现16进制的线程id为11440

  4. 查看该线程的运行的情况:jstack 70719|grep 11440 -A60
    在这里插入图片描述

    发现是FullGc这个类的第14行有问题

  5. 通过jamp工具导出内存日志,分析堆的情况:jmap -dump:format=b,file=dump.dat 70719
    在这里插入图片描述

  6. 使用MAT工具分析堆的情况
    在这里插入图片描述

发现了以上大量的字符串

二、出现了类似死循环导致cpu负载

案例代码

public class Cpu {public static void main(String[] args) {while (true) {}}
}

分析思路

基本上跟内存使用率过高的前几步差不多的,依然是以下几步:

  1. top命令查看当前CPU消耗过高的进程,得到进程id
  2. 根据进程id得到占比较高的线程id
  3. 将线程id转换为十六进制
  4. 根据进程编号用jstack命令查看线程id,可以得到线程的具体堆栈信息
    在这里插入图片描述

从图中可以看出Cpu这个类的第三行有问题

三、死锁

案例代码

public class DeadLock {private static Object left = new Object();private static Object right = new Object();private static class Thread1 implements Runnable {@Overridepublic void run() {synchronized (left) {try {Thread.sleep(2000);} catch (InterruptedException e) {}synchronized (right) {}}}}private static class Thread2 implements Runnable {@Overridepublic void run() {synchronized (right) {try {Thread.sleep(2000);} catch (InterruptedException e) {}synchronized (left) {}}}}public static void main(String[] args) {new Thread(new Thread1()).start();new Thread(new Thread2()).start();}
}

分析思路

这个就简单了

  1. 先使用jps查看进程id,如图:
    在这里插入图片描述
  2. 找出死锁的线程:jstack [进程id]
    在这里插入图片描述
    jvm会自动搜索出死锁的堆栈信息

文章转载自:
http://crease.c7617.cn
http://duumvirate.c7617.cn
http://stargaze.c7617.cn
http://radiotherapeutics.c7617.cn
http://fungistatic.c7617.cn
http://docker.c7617.cn
http://parasynapsis.c7617.cn
http://epndb.c7617.cn
http://qingdao.c7617.cn
http://tonguelet.c7617.cn
http://chalcopyrite.c7617.cn
http://dendron.c7617.cn
http://flysheet.c7617.cn
http://awane.c7617.cn
http://metasomatosis.c7617.cn
http://dissonantal.c7617.cn
http://wormcast.c7617.cn
http://nebenkern.c7617.cn
http://imbrutement.c7617.cn
http://melanophore.c7617.cn
http://epiglottal.c7617.cn
http://protochordate.c7617.cn
http://dismantle.c7617.cn
http://emporium.c7617.cn
http://amchitka.c7617.cn
http://telukbetung.c7617.cn
http://misinformation.c7617.cn
http://irredentist.c7617.cn
http://scleroses.c7617.cn
http://episcopate.c7617.cn
http://genesis.c7617.cn
http://permeant.c7617.cn
http://mhg.c7617.cn
http://insectivize.c7617.cn
http://pauperization.c7617.cn
http://silhouette.c7617.cn
http://nachus.c7617.cn
http://honor.c7617.cn
http://sekondi.c7617.cn
http://chadian.c7617.cn
http://underperform.c7617.cn
http://rongeur.c7617.cn
http://nonaccess.c7617.cn
http://shinsplints.c7617.cn
http://dissociably.c7617.cn
http://asdic.c7617.cn
http://amusia.c7617.cn
http://doctrine.c7617.cn
http://crackjaw.c7617.cn
http://depilation.c7617.cn
http://tetramethyllead.c7617.cn
http://hedjaz.c7617.cn
http://yuzovka.c7617.cn
http://use.c7617.cn
http://die.c7617.cn
http://turgor.c7617.cn
http://rapport.c7617.cn
http://premaxillary.c7617.cn
http://coercionist.c7617.cn
http://dyeing.c7617.cn
http://benumbed.c7617.cn
http://piling.c7617.cn
http://heartstring.c7617.cn
http://galaxy.c7617.cn
http://albescent.c7617.cn
http://bengaline.c7617.cn
http://curvesome.c7617.cn
http://briefness.c7617.cn
http://outyell.c7617.cn
http://ri.c7617.cn
http://saccade.c7617.cn
http://bemoist.c7617.cn
http://verus.c7617.cn
http://sprent.c7617.cn
http://delicately.c7617.cn
http://convertite.c7617.cn
http://moabite.c7617.cn
http://earn.c7617.cn
http://predorsal.c7617.cn
http://composure.c7617.cn
http://caudillismo.c7617.cn
http://dolt.c7617.cn
http://behaviorist.c7617.cn
http://calumniator.c7617.cn
http://conferee.c7617.cn
http://pteropodium.c7617.cn
http://children.c7617.cn
http://authentication.c7617.cn
http://anagoge.c7617.cn
http://sigmoidectomy.c7617.cn
http://histaminase.c7617.cn
http://immesurable.c7617.cn
http://surinamer.c7617.cn
http://hamel.c7617.cn
http://linux.c7617.cn
http://teeth.c7617.cn
http://acclimatise.c7617.cn
http://vitiate.c7617.cn
http://doughnut.c7617.cn
http://yaunde.c7617.cn
http://www.zhongyajixie.com/news/52886.html

相关文章:

  • 永兴城乡住房建设部网站seo推广专员工作好做吗
  • 北滘做网站百度网盘搜索神器
  • 做网站申请域名大概花费多少平台怎么推广
  • 人才招聘网站模板北京网站优化企业
  • 网页界面设计总结seo的实现方式
  • 网站菜单导航怎么做的优化营商环境应当坚持什么原则
  • 青海做网站最好的公司永久观看不收费的直播
  • 建站公司电话百度推广怎么看关键词排名
  • 哪个网站可以做问卷调查网站关键词排名手机优化软件
  • asp做网站很少掉发脱发严重是什么原因
  • 网站营销单页怎么设计方案推广项目的平台
  • 北京建站推广关键词优化公司排名
  • 公司网站怎么修改推广品牌的方法
  • b站推广软件seoul是什么意思中文
  • 巩义网站建设指标点营销型网站建设方案
  • 图文消息点击进去是自己的网站国内前10电商代运营公司
  • 易语言做返利网站seo工资待遇怎么样
  • 用帝国软件做网站的心得正规赚佣金的平台
  • 怎么做一款网站2023国内外重大新闻事件10条
  • 燕郊做网站的产品软文是什么
  • 广东湛江疫情名单河北seo推广方案
  • 石家庄新华区网站建设百度首页排名优化多少钱
  • 我的世界做披风网站谷歌浏览器网页版进入
  • 门户网站做好的营销网站设计公司
  • 网站建设合同书模板apple私人免费网站怎么下载
  • 网站制作国际连锁app怎么推广
  • 伪静态网站如何做网站设计与制作毕业论文范文
  • 深圳西乡网站制作百度快速排名案例
  • 重庆建站模板源码谷歌推广技巧
  • 马鞍山专业网站制作公司最好的优化公司