JAVA性能问题分析

这篇具有很好参考价值的文章主要介绍了JAVA性能问题分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

内存、cpu

linux命令

top 展示了机器的cpu、内存、swap区情况

kill -3 pid 会生成对应进程的各线程的 java 调用栈信息以及内存情况。注意tomcat做了重定向文件,可以打印在tomcat_catlina.log.默认在  /proc/pid/cwd目录下

1、原生jdk命令

      jmap 内存

      jstat 配合查看内存、cpu、gc问题

      jstack cpu

      jcmd、jhat、jinfo

2、arthas

     dashboard 查看线程、内存、gc情况

     thread 查看线程数量、线程状态

3、MemoryAnalyze  

4、docker相关命令 (注意 非堆区域内存占用较大会导致linux触发OOMkiller)

     参考:https://blog.csdn.net/qui910/article/details/125315062

     docker stats | grep *** 可以查看容器的cpu、内存统计情况

     docker inspect 容器id 可以查看OOMKiller 是否为true

     docker top 容器id

     docker ps -a | grep *** 查看所有相关的容器。包括被重拉的 可以查看137码

5、 jvm参数 (参考: https://blog.csdn.net/fedorafrog/article/details/104503740)

      堆内存

         年轻代【Eden(生成区)、Survivor(幸存区)】

                幸存区划分:FromSpace(s0)ToSpace(s1)默认8:1 可调整16:1

         老年代

         -XX:SurvivorRatio=8 

        -Xmn 设置年轻代大小

        -Xms 设置堆的最小空间大小。

        -Xmx 最大堆内存 建议与Xms一致 减少GC次数

      非堆内存

       code_cache 默认240M (当jit代码达到指定次数,此区域会增加)

       compressed_class_space

        -XX:MaxMetaspaceSize  最大元数据

        -XX:MaxDirectMemory 最大直接内存

        -Xss522k 依据不同系统默认值不通 默认1M 越小支持创建更多的线程数

6 GC的次数、影响与查看

7 cpu高与线程死锁

      top -H -p pid

      printf '%x\n' nid 此处区别与toppid

      jstack pid | grep 'nid'

      jstack -F pid 

      kill -3 pid文章来源地址https://www.toymoban.com/news/detail-437841.html

到了这里,关于JAVA性能问题分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux系统运维:性能监视和分析工具sar命令详解

    目          录 一、sar工具介绍 二、sar工作原理 (一)原理概述 (二)sar数据收集器 三、sar命令语法 四、sar主要功能介绍 (一)功能概述 (二)CPU统计数据 (三)磁盘I/O统计数据 (四)网络统计数据 1、是使用-n DEV选项的sar输出 2、关于网络错误的信息可以用sar -n EDE

    2024年02月21日
    浏览(70)
  • JAVA性能问题分析

    内存、cpu linux命令 top 展示了机器的cpu、内存、swap区情况 kill -3 pid 会生成对应进程的各线程的 java 调用栈信息以及内存情况。注意tomcat做了重定向文件,可以打印在tomcat_catlina.log.默认在  /proc/pid/cwd目录下 1、原生jdk命令       jmap 内存       jstat 配合查看内存、cpu、gc问题

    2024年02月03日
    浏览(37)
  • Java线上故障排查(CPU、磁盘、内存、网络、GC)+JVM性能调优监控工具+JVM常用参数和命令

    根据服务部署和项目架构,从如下几个方面排查: (1)运用服务器:排查内存,cpu,请求数等; (2)文件图片服务器:排查内存,cpu,请求数等; (3)计时器服务器:排查内存,cpu,请求数等; (4)redis服务器:排查内存,cpu,连接数等; (5)db服务器:排查内存,cpu,连接数

    2024年02月07日
    浏览(61)
  • Java内存占用过高问题分析

    这里我们创建一个springboot项目, 然后随便写一个contoller, 在这个controller中定义一个List集合, 然后再初始化的时候让集合中10万个字符串, 然后部署并启动项目(这里为了贴近实战, 我是在centos中启动的项目) 进入系统, 使用top命令显示系统中的进程信息, 然后点击H(大写), 以内存排

    2024年02月09日
    浏览(53)
  • 【ARM Linux 系统稳定性分析入门及渐进12 -- GDB内存查看命令 “x“(examine)】

    请阅读 【ARM Linux 系统稳定性分析专栏导读】 上篇文章:ARM Linux 系统稳定性分析入门及渐进11 – GDB( print 和 p 的使用| @ 和 ::的使用|ptype|{<type>} <addr> ) examine 是GDB中x命令的全称,用于检查内存中的内容。这个命令非常强大,可以以多种格式显示内存内容。 examine 命令

    2024年02月12日
    浏览(36)
  • java性能安全:OOM问题排查、Arthas分析高CPU问题、防止Dos攻击

    一、OOM问题 分析流程: 第一步:进程分析,分析老年代回收次数和消耗时间 第二步:日志分析,找出OOM发生时间的日志来锁定执行方法,对应的机器ip 第三步:找到对应的ip机器查看,进一步分析 第四步:下载的dump,使用mat分析堆内存,找到堆占用率前3,查看堆指向 问题

    2024年02月03日
    浏览(36)
  • linux常见命令(分类展示)

    1.1、ls: ​显示文件/目录属性 1.2、cd: ​切换目录 1.3、pwd: ​显示当前目录 1.4、mv/cp: ​mv:移动文件 cp:复制文件 1.5、rm/rmdir: ​rm:删除文件 rmdir:删除空文件夹(删除有内容的文件夹使用rm rf) 1.6、mkdir/touch: ​mkdir:创建文件夹 touch:创建文件,修改时间戳 1.7、l

    2024年02月08日
    浏览(29)
  • 性能测试,python 内存分析工具 -memray

    Memray是一个由彭博社开发的、开源内存剖析器;开源一个多月,已经收获了超8.4k的star,是名副其实的明星项目。今天我们就给大家来推荐这款python内存分析神器。 Memray可以跟踪python代码、本机扩展模块和python解释器本身中内存分配,可以生成多种不同类型的报告,帮助您分

    2024年02月15日
    浏览(49)
  • Linux性能优化--性能工具:系统内存

    本章概述了系统级的Linux内存性能工具。本章将讨论这些工具可以测量的内存统计信息,以及如何使用各种工具收集这些统计结果。阅读本章后,你将能够: 理解系统级性能的基本指标,包括内存的使用情况。 明白哪些工具可以检索这些系统级性能指标。 每一种系统级Linu

    2024年02月07日
    浏览(37)
  • Android 内存泄漏、性能分析常用工具

    一、内存泄漏 1、 MAT-eclipse :“Memory Analyzer Tool”,一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。 2、Leakcanary :一款开源的自动检测内存泄漏的工具。 3、AndroidStudio Profiler :Android Studio 3.0 采用全新

    2024年02月12日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包