自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 一次服务器上g1回收器发生fullgc的粗浅理解与记录

1.现场监控截图由上面两张图可以看出,1. old区内存使用并不多,为何会fullgc。2.年轻代确实没有进行gc,所以可以确定当时确实进行了fullgc。2.gc log我们服务器使用的是g1回收器,找到当时时间节点的gc log,截图如下:3.分析log,提出问题我们从监控中可以看到,fullgc时:总计堆内存2051m -> 142m, 总共回收了 1927m在年轻代,eden回收了 1532m, survivor44m,总计 1576m说明老年代总共只回收了 1

2021-04-17 00:39:27 6441

转载 java内存问题排查

简介 JVM堆外内存难排查但经常会出现问题,这可能是目前最全的JVM堆外内存排查思路。通过本文,你应该了解:pmap 命令gdb 命令perf 命令内存 RSS、VSZ的区别java NMT起因这几天遇到一个比较奇怪的问题,觉得有必要和大家分享一下。我们的一个服务,运行在docker上,在某个版本之后,占用的内存开始增长,直到docker分配的内存上限,但是并不会OOM。版本的更改如下:升级了基础...

2020-12-24 20:01:40 493 1

原创 一次线上oom问题记录

某天早上发现服务无法正常访问,于是展开问题排查。1。首先查看日志,发现有oom日志存在。这时候看到oom,犯了想当然的错误,认为是内存不足,堆内存空间已经用完。于是查看代码发现某个模块中有如下代码:谁写的,站出来,我保证不打你。当时盲目的认为就是使用这个线程池的问题(关于此线程池的弊端不再赘述),于是心满意足的修改完这行之后重新执行了。2。没想到过了一段时间,服务又无法正常访问了,这让笔者十分疑惑,查日志时又发现了相同的日志:到了这里,笔者已经意识到,这应该是机器原因导致的,

2020-09-11 21:03:50 1022

原创 flink内存管理模型(二) ------ 内存分配

本文主要简单介绍TaskManager的内存管理策略,接上文https://blog.csdn.net/lhy18235303007/article/details/108477130。以下均为笔者个人观点,欢迎大家批评指正。二、 内存分配flink在启动一个TM的时候,只会通过两个启动参数限制的JVM的内存使用 JVM使用的最大堆内存(-Xms -Xmx) JVM使用的最大堆外内存(-XX:MaxDirectMemorySize) 这两项内存的和即为上述TaskManager使

2020-09-11 09:47:58 1226

原创 flink内存管理模型(一) ------ 内存布局

本文主要简单介绍TaskManager的内存管理策略,以下均为笔者个人观点,欢迎大家批评指正。一 、内存布局在flink中,TaskManager内存主要分为三大块 JVM使用的内存 网络内存池 Flink自己管理的内存 Flink自己管理的内存:这个内存,指的是flink的预留内存,这部分内存可以在jvm堆内,也可以在jvm堆外,若如此(在堆外),这部分内存不会受jvm管辖。照网上说法,这样的好处有:参考文章 https://cloud.tencent.com...

2020-09-08 21:29:44 1935

原创 经典小船过河问题,附Python,java题解

同学在面试时遇到了一个有趣的编程题,笔者很有兴趣,故以此文章作为记录。题目:N个人过河,船每次只能坐两个人,船载每个人过河的所需时间不同t[i],每次过河的时间为船上的人的较慢的那个,问最快的过河时间。(船划过去要有一个人划回来)。首先分析下场景,我们首先要考虑的是如何把耗时最长的人送过去,而题目中明确说明了每次计时都要以较慢的记,我们很容易想到,让最慢的两个人一起过,是比较好的策略。展开分析,发现可能的情况有两种。情况1:让最快的两个人和最慢的两个人组成一组,我们按照耗时长短分为a,b,c

2020-09-05 22:22:08 5480

原创 sparkconf修改配置不生效解决方案

此文章书接上文https://blog.csdn.net/lhy18235303007/article/details/108312872我们已经知道,在sparksession已经启动之后,再修改sparkconf的值,是不生效的。那我们需要实现特殊任务的定制化,只能另辟蹊径。方案一:有的同学可能想到了,既然在sparksession启动前设置可以生效,那我在生成sparksession时就把是否压缩改为false不就可以了吗?这样做当然是可以的,但是需要具体情况具体分析,如果你的任务是一次.

2020-09-04 21:31:52 3776

原创 flink ui含义图解

笔者最近开始学习flink,但是flink的webui上各种指标错综复杂,在网上也没有找到一个比较详尽的资料,于是个人整理了一下关于flink中taskmanager的webui各个指标的含义,供大家参考。注:括号中仅为个人理解如下图,是一个flink任务中的某个taskmanager的ui以下介绍顺序为从上到下,从左至右overview这个是整个taskmanager的总览信息data port :数据端口all slots :此 tm 具有的 slot 数 (顺便提一下,

2020-09-02 19:47:23 5282

原创 sparkconf修改配置不生效

sparkconf修改配置不生效场景:统一的数据处理平台,在日常工作中,需要初始化sparkcontext,这个context为考虑绝大多数用户的需求,所有的配置必须要考虑通用性,如设置输出格式统一为gzip,以达到节省空间的效果等。这种情况下会带来问题,如果有用户有特定的需求,比如某用户不想把输出文件进行gzip压缩,这时需要针对此需求进行定制化功能开发。第一次尝试:笔者首先尝试,在初始化sparkconf后,再进行sparkconf中值的修改。初始化代码示例如下:.

2020-08-30 23:41:00 4131 1

原创 解决eclipse新建maven项目时 pom.xml 文件报错问题

可能是由于maven默认是访问一个外网的压缩包仓库,连接很慢所以导致出错 ,在自己的仓库配置文件settings.xml 中配置如下<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name&gt

2018-03-14 19:23:02 3868

原创 关于NIO

Java中的 NIO (noneblock io 或者 是 new io) 把原来io中的inputstream 和 outputstream 抽象成一个 channel ---->读写都通过 channel ,通过buffer传递数据。 实现了 AutoCloseable 接口的类的声明可以放在 try(){} 可以放在try 后面的括号中,不用写finally最后关闭资源,编译器会...

2018-03-04 10:46:29 2733

原创 关于volatile关键字

在程序中我们认为的同步操作(宏观上单同步),在计算机CPU的操作中微观上是有先后顺序的(时间片) volatile关键字禁止指令重排序有两层意思:参考博客:https://www.cnblogs.com/dolphin0520/p/3920373.html  1)当程序执行到volatile变量的读操作或者写操作时,在其前面的操作的更改肯定全部已经进行,且结果已经对后面的操作可见;在其后面的操作...

2018-03-04 10:45:19 2895

原创 关于jsp中验证码在某些浏览器中无法显示的问题

最近编写的jsp程序中验证码无法在qq浏览器,360浏览器,谷歌浏览器中正常显示,可以在火狐浏览器中正常显示。具体的原因还未知,不过如果在生成验证码的程序中在response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHead

2017-04-19 17:20:26 5977 2

原创 解决一个冷门的空指针问题

最近在一个项目中(javabean+jsp)遇到了一个空指针问题,感觉无错误,但不知为什么一直报空指针。最后,将14行改为String str_UserID=(String)session.getAttribute("UserID");就不再报空指针了,可以正常运行。

2017-03-19 17:31:04 4343

原创 解决新导入的jsp程序报错问题

同学们在学习jsp编程的时候看会遇到新导入的jsp程序报错的问题,但是各个jsp文件却没有红叉我在学习中认为可能有如下情况:1.jre system library报错解决方法:右键项目选择build path,点击librarys然后点击 add library,确定,加入本机的jre,然后remove原来的jre就可以解决。2.tomcat未导入解决方法:同

2017-03-15 20:36:08 3841

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除