系统排查优化
文章平均质量分 76
项目在生产环境中会遇到很多的情况,如outofmemonry 程序假死,运行一段时间后系统卡顿等疑难杂症,会有一些常用的排查的方法和监控工具定位问题。
张某某啊哈
做一个有梦想的程序猿
展开
-
jprofiler远程监控JVM( spring boot项目)
jprofiler远程监控JVM( spring boot项目)原创 2022-10-11 10:10:37 · 4412 阅读 · 0 评论 -
docker报错exited(137)
docker报错exited(137)原创 2022-09-30 10:42:39 · 5803 阅读 · 0 评论 -
利用JConsole工具监控java程序内存和JVM
利用JConsole工具监控java程序内存和JVM原创 2022-09-27 16:15:33 · 1374 阅读 · 0 评论 -
java项目中线程池的线程数是怎么确定的
《Java8 实战》P233解释一下:线程池大小的设置要考虑的因素很多,单纯只考虑任务特性是cpu密集型还是io密集型的情况下:cpu密集型,计算比较多通常设置N*cpu核数,IO密集型,数据库操作比较较多,设置2*cpu核数。对于混合型的,《Java8 实战》P233 有这样一个公式,图2公式变形之后可知,在cpu核数只有1个且要求cpu使用率100%,Nth = 1,也就是说设置线程数为1;同理,cpu核数为1,w:c = 1 :1,cpu使用率要达到100%,Nth =...原创 2022-04-09 16:30:15 · 1469 阅读 · 0 评论 -
记一次网络波动导致druid连接池无法创建新连接的BUG
背景项目使用了阿里druid jdbc连接池。某天环境出现网络波动,持续20分钟后,网络恢复,单服务一直无法连接数据库。重启之后正常运行druid 版本:1.1.21项目配置spring.datasource.druid.game.driver-class-name = com.mysql.cj.jdbc.Driverspring.datasource.druid.game.initial-size = 5spring.datasource.druid.game.min-idle原创 2022-04-09 16:20:41 · 9919 阅读 · 0 评论 -
JAVA性能分析工具--Jvisualvm使用方法
JDK自带的JAVA性能分析工具。它已经在你的JDK bin目录里了,只要你使用的是JDK1.6 Update7之后的版本。点击一下jvisualvm.exe图标它就可以运行了。这里是VisualVM的官方网站:https://visualvm.dev.java.net,资料很全,同时提供VisualVM最近版本下载。1.安装只要安装JDK即可,运行jvisualvm.exe,选择【工具】——【插件】——【可用插件】·2使用2.1.远程机器设置要从远程应用程序中检索数..原创 2022-04-09 16:13:51 · 8196 阅读 · 0 评论 -
java编译通过,运行却提示找不到或无法加载主类的解决方案
一、问题描述java(javac HelloWorld.java)编译通过,(java HelloWorld)运行却 提示找不到或无法加载主类 的一般多见过java初上手,使用命令行的方式运行java程序,一般使用IDE工具是不会遇见的。二、分析和解决既然javac编译已经通过,这说明变量 JAVA-HOME 已经配置的没有问题了。第一种可能就是:问题就出在Path变量对应的变量值上或者是新建用户变量classpath上有问题,你重新配置一下。Path对应的变量值是在原来的变量值前面加上%Jav原创 2022-04-09 16:01:14 · 21227 阅读 · 2 评论 -
javac编译问题:使用了未经检查或不安全的操作
使用了未经检查或不安全的操作在本人用editplus写java文件时碰到的问题。 代码import java.util.*;class collection{ public static void main(String[] args) { Collection c1=new ArrayList(25); c1.add(new String("one")); c1.add(new String("two"));.原创 2022-04-09 15:58:46 · 8230 阅读 · 0 评论 -
javac编译时编码错误(编码格式不一致)
一、文档编写目的昨天在群里看到一个刚学java的朋友碰到一个问题,他用文本编辑器写了一个java类,这大概就是所有java初学者刚开始都要经历的阶段吧,然后使用javac编译,在用java运行,出现了一个错误,在这里进行总结一下,希望对大家和我都有点帮助。二、场景还原java代码如下public class Byte { public static void main(String[] args) { byte x = 22; //x是十进制 by...原创 2022-04-09 15:55:38 · 1898 阅读 · 0 评论 -
IBM heapAnalyzer分析dump文件
项目在生产环境中内存溢出时多数会生成dump 文件IBM开发的强大的内存dump分析工具,IBM heapAnalyzer是通过分析OOM后的Java heap dump文件的,通过对dump文件的分析找到可能!!!泄露的点。(注意:这是说的是可能,真正的内存溢出,我们还需要结合程序来进行一个分析)官网下载地址IBM HeapAnalyzerhttps://www.ibm.com/support/pages/ibm-heapanalyzer下载之后只有得到这样的文件..原创 2022-04-09 15:47:06 · 3916 阅读 · 0 评论 -
分析Java的内存溢出问题(OutofMemory)
我们开发一个测试程序,来模拟OutofMemory情况。程序很简单,代码如下:import java.util.ArrayList;import java.util.List;public class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(); while(true){ ...原创 2022-04-09 15:34:21 · 2584 阅读 · 0 评论 -
Java 性能分析工具一览(JDK自带)
Jdk自带的监控程序1. jstat 分析JVM HEAP占用情况2. jps 查看JVM 进程3. jmap 分析内存对象占用情况4. jstack 查看JVM 调用堆栈情况5. hpprof 查看Heap 和 CPU 性能6. jinfo 查看JVM启动参数及相关环境变量7. jhat 查看DUMP出来的内存状况官网地址:https://www.oracle.com/index.htmlhttps://www.oracle.com/index.html参考内容..原创 2022-04-09 15:06:36 · 8839 阅读 · 0 评论