DEBUG
文章平均质量分 67
辉度
这个作者很懒,什么都没留下…
展开
-
sshpass 命令踩坑记录--未获取环境变量
sshpass 命令踩坑记录–未获取环境变量近日,由于某个厂商的安全流量分析的探针导致了java进程假死,在使用jstack命令却报虚拟机版本不匹配的问题。几番查询,发现未使用该用户配置在.bash_profile下的java环境变量。而是操作系统预装的openJdk。不执行用户目录下.bash_profile因此,通过root用户 yum 删除了openJdk。然引起了gitee企业版流水线执行主机部署阶段报出异常 java命令找不到。不执行/etc/profile接着,通过root用户在/原创 2021-10-26 19:31:32 · 1305 阅读 · 0 评论 -
Log4J日志打印引发的OOM问题排查
Log4J日志打印引发的OOM问题排查上周,充当回消防队员去救火,一个老的CRM系统,生产上一天出现了CPU占用高,两次OOM问题。从时间上看,CPU占用高的报警也是因为JVM为了自救的疯狂GC导致的。查看Dump文件OOM提供了堆Dump以及线程栈Dump。由于是内网,无法截图,也不方便拍照。在此就引用一篇来自老东家的,极度相似的博客:https://rdc.hundsun.com/portal/article/884.html栈Dump从栈Dump线程中,可以看到大部分线程都在com.lm原创 2021-08-30 00:11:26 · 7088 阅读 · 0 评论 -
Idea 启动项目报错 failed to create jvm:jvm path url 或Could not reserve enough space for xxxxKB object heap
Idea 启动项目报错 failed to create jvm:jvm path url 或Could not reserve enough space for xxxxKB object heap 终极解决方案新老版本IDEA都有这样的问题。当我们项目设置了JVM大小 -Xmx4096m ,但是配置文件中不够大就会产生这样的问题。当然你可能没有这样的设置,同样导致无法启动。配置文件:用户目录下:C:\Users\名字.IntelliJIdea2019.3\config 路径下生成一个文件原创 2021-08-17 23:00:43 · 1720 阅读 · 0 评论 -
spring mvc 一次请求如何映射到对应的controller 如何规避冲突
spring mvc 一次请求如何映射到对应的controller 如何规避冲突映射的分析很多了,但是那些看起来冲突的url映射,spring都能正常工作,好奇,故分析一波看似冲突的URL映射/test/hello/test/{res}这两个映射URL,如果输入**/test/hello**,那么两个映射规则应该都是符合的,那么它会走哪一个,是不是随机的?为啥不冲突?测试代码创建一个带有spring mvc的简单的spring boot工程,加入下面这个controller文件pac原创 2021-08-12 20:51:25 · 598 阅读 · 0 评论 -
Redisson BUG: Failed to submit a listener notification task. Event loop shut down?
Redisson BUG Failed to submit a listener notification task. Event loop shut down?堆栈ERROR 12561 --- [ Thread-3] i.n.u.c.D.rejectedExecution : Failed to submit a listener notification task. Event loop shut down?java.util.concurrent.RejectedExecutionExcep原创 2021-08-04 22:04:02 · 15840 阅读 · 0 评论 -
RedisTemplate 接口误用造成的空指针异常记录(深扒multiGet接口)
RedisTemplate 接口误用造成的空指针异常记录redis读写在现阶段,除了原生的调用接口,例如jedis、lettuce等,许多都使用了redisTemplate,当然,更多的使用了@Cacheable、@CaachePut之类的注解。redisTemplate的封装避免了底层api的不同。而注解@Cacheable等则更多的符合了旁路设计,避免了更多人为try、catch,代码更加优雅、不容易出错。BUG级别低级BUG描述典型的空指针异常。据产生BUG的童鞋在一定的排查后描述:向原创 2021-07-03 15:28:55 · 4627 阅读 · 2 评论 -
磁盘占用高生产故障复盘总结
生产故障复盘总结故障发现在2021年5月28日(上线次日)清晨6点,收到监控告警,磁盘已经达到90%使用率。故障定位排查磁盘大文件,占用率大的文件夹。通过命令df -h 确定挂载根目录的文件夹占用率过高。通过命令du -h 以及du -sh ,在应用用户xxxx拥有写权限的*/home/cloud* 以及*/home/logs* 中查看占用,发现用于存放xxl-job日志的文件夹占用很大。其中从5.21日开始,每天的日志磁盘占用有7GB,每个日期文件夹下,日志文件有2万多个。查看日原创 2021-06-07 19:41:52 · 1505 阅读 · 0 评论 -
TOMCAT 源码分析 -- 一次请求
TOMCAT 源码分析 – 一次请求前语 在上一篇源码分析《TOMCAT源码分析–启动》中已经知道,Tomcat在启动中,会通过NIO监听端口,而真正去接收请求的是pollerThread.start()轮询线程的启动,那么请求的入口应该是到NIO中,最后被轮询线程发现并被处理,那么自然就要去看Poller线程的run()方法,看其是如何处理。(PS:心中要有上一篇里面的模块架构图,很重要!)端点接收请求 // org.apache.tomcat.util.net.NioEndpoi原创 2020-06-09 01:34:44 · 1068 阅读 · 0 评论 -
静态方法抛出运行时异常导致反射生成实例失败
静态方法抛出运行时异常导致反射生成实例失败文章目录静态方法抛出运行时异常导致反射生成实例失败场景还原生成实例失败的类抛出运行时异常的方法无法捕获异常之处重试接口类测试main方法测试输出结论场景还原1. 启动时,static属性获取时便打印了异常,不过没有注意到。2. 之后在异常无法捕获之处既无正常往下走到return,也没有被Catch捕获异常,甚至在该行无法Step in进入debug,最终被外层的finally块处理。生成实例失败的类public class InnerPositionT原创 2020-06-03 09:53:53 · 851 阅读 · 0 评论 -
记一次因类未加载导致DEBUG断点执行不了的“诡异”
记一次DEBUG断点执行不了的“诡异”前提:这是一个二次开发的项目windows本地执行无误打包后在linux下工程结构会不同(主要是lib目录会不同)本人亲自部署,远程debug时代码行数对的上工具:idea2019.2方式:远程debug错误描述单步调试时,点了一下,不会到for这一行,且断点就像消失了一样。没有抛出任何异常。思路工具问题:怀...原创 2020-04-08 19:55:15 · 286 阅读 · 0 评论