4 zhifeng687

尚未进行身份认证

暂无相关描述

等级
博文 892
排名 1k+

记一次java进程占用内存高,Netty中的buffer一直没被gc的排查

最近发现一个项目在部署到机器上的时候,机器内存一直占用很高。接着开始排查机器内存高的原因1、查找机器上占用内存高的进程psaux|sort-k4nr|head-20查找占用内存高的前20个进程发现前20个进程平均每个进程占用内存3g,总共就占用了60g。每个进程占用内存都很高,是造成机器总体内存高的原因。2、查看进程的内存占用情况以进程号13588为例,使...

2019-05-16 16:48:14

yarn3.2源码分析之NM端startContainer事件流程(二)

LocalizerEvent的处理器——LocalizerTracker处理request_resource_localization类型逻辑如下:privatefinalPublicLocalizerpublicLocalizer;@Overridepublicvoidhandle(LocalizerEventevent){Stringl...

2019-05-12 00:28:11

yarn3.2源码分析之NM端startContainer事件流程

概述NM端启动container会经过一系列event:ApplicationEvent->LocalizationEvent->ApplicationEvent->ContainerEvent->LocalizationEvent->ResourceEvent分别对应的eventType是:initApplication-&gt...

2019-05-10 17:56:56

yarn3.2源码分析之YarnClient与ResourceManager通信之submitApplication(四)

ApplicationMasterLauncher处理launch类型的AMLaucherEventResourceManager的内部类RMActiveService为AsyncDispatcher注册AMLauncherEventType类型的处理器——ApplicationMasterLauncherprotectedvoidserviceInit(Configuration...

2019-05-09 18:24:16

yarn3.2源码分析之YarnClient与ResourceManager通信之submitApplication(三)

概述submitApplication会经过一系列Event:accepted类型的RMAppEvent->start类型的RMAppAttemptEvent->appAttemptAdd类型的SchedulerEvent->AttemptAdded类型的RMAppAttemptEvent->storeAppAttempt类型的RMStateSto...

2019-05-09 15:37:18

yarn3.2源码分析之YarnClient与ResourceManager通信之submitApplication(二)

RMAppNewlySavingTransition处理start类型的RMAppEvent事件privatestaticfinalclassRMAppNewlySavingTransitionextendsRMAppTransition{@Overridepublicvoidtransition(RMAppImplapp,RMAppEvent...

2019-05-07 18:22:25

yarn3.2源码分析之YarnClient与ResourceManager通信之submitApplication

概述YarnClient通过ApplicationClientProtocol与ResourceManager通信。YarnClient通过它完成向RM提交应用程序、查看应用程序状态、控制应用程序(杀死)等。在ResourceManager中,负责与YarnClient通信的组件是ClientRMService。如果是submitApplication等通信,ClientRMService再转...

2019-04-21 11:22:53

yarn 3.2源码分析之NM端launchContainer事件流程

概述yarnapplication会因为container分配失败而导致applicationfailedApplicationapplication_1555482591931_0853failed2timesduetoAMContainerforappattempt_1555482591931_0853_000002exitedwithexitCode:...

2019-04-19 15:32:56

yarn 3.2源码分析之ResourceManager

概述ResourceManager是一系列组件的集合。它会加载core-site.xml和yarn-site.xml,同时创建yarnscheduler、RMAppManager等一系列组件。创建yarnscheduler获取yarn.resourcemanager.scheduler.class配置项,默认是CapacitySchedulerpublicstati...

2019-04-15 18:15:22

yarn3.2 FairScheduler源码分析之FSLeafQueue

获取当前正在运行的应用数:Numactiveapplications@OverridepublicintgetNumRunnableApps(){readLock.lock();try{returnrunnableApps.size();}finally{readLock.unlock();}}...

2019-04-15 11:42:46

yarn3.2源码分析之moveApplication事件流程

概述yarn3.2moveApplication事件不再经过中央异步调度器AsyncDispatcher和状态机StateMachineFactory,直接由RMAppManager直接调用scheduler处理moveApplication事件。yarn2.6应用转移到到其它队列的日志yarnapplication移动到其它queue时,queue有maxSharec...

2019-04-12 23:34:25

kafka2.2源码分析之BufferPool

概述BufferPool是缓存给定memory大小的ByteBuffer池。这个类主要应用于Producer的需求。因此,它有以下2个属性:只有符合pooledsize大小的ByteBuffer会被缓存并循环使用。 BufferPool是公平的,内存优先给等待时间最长的线程使用,除非它有充足的内存。它能有效防止线程饥饿和死锁的发生。PooledBufferMemory&a...

2019-04-11 20:48:58

kafka2.2源码分析之KafkaChannel

概述KakfaChannel基本是对SocketChannel的封装,只是这个中间多个一个间接层:TransportLayer,为了封装普通和加密的Channel。TransportLayer子类有PlaintextTransportLayer和SslTransportLayer,分别对应普通和加密的channel。而对于KafkaChannel提供统一的接口,这是策略模式很好的应用。Ka...

2019-03-31 19:45:13

hadoop-yarn2.7源码分析之ApplicationMaster与ResourceManager.ApplicationMasterService通信过程

概述ApplicationMaster与ResourceManager之间通信主要有以下三个步骤:1).ApplicationMaster通过rpc向ResourceManager注册。ApplicationMaster启动时,首先向ResourceManager注册,注册消息封装到ProtocolBuffers消息RegisterApplicationMas...

2019-02-18 15:03:17

hadoop-common2.7源码分析之ProtobufRpcEngine(RPC实现)

概述ProtobufRpcEngine是在RPC通信过程中,使用ptotobuf作为数据交换格式的RPC实现类。对ProtobufRpcEngine的源码分析将围绕RPC概念模型展开。RPC概念模型 RPC调用流程如下:RPC服务端通过RpcServer去导出(export)远程接口方法,而客户端通过RpcClient去导入(import)远程接口方法。 客户端...

2019-02-13 23:42:11

hadoop 2.7源码分析之RecordFactory

概述hadoop使用了protobuf作为默认的数据交换格式,但是hadoop也实现了插拔机制,允许用户使用其它的格式,如thrift等。所以,hadoop在制定接口和实现基于protobuf的底层模块时,使用了抽象工厂模式,并使用java反射对抽象工厂模式加以优化。抽象工厂模式抽象工厂模式用于生产不同产品族的全部产品。对于每一个产品族,都有一个具体工厂。而每一个具体工厂创建属于同一个...

2019-02-01 17:19:20

java NIO 之ServerSocketChannel源码分析

ServerSocketChannel的使用示例如下://1.获取服务端通道ServerSocketChannelssChannel=ServerSocketChannel.open();ssChannel.bind(newInetSocketAddress(9898));//2.设置为非阻塞模式ssChan...

2019-01-01 19:28:49

spark 2.3源码分析之ShuffleDependency

ShuffleDependency成员变量-ShuffleHandle在ShuffleDependency中创建ShuffleHandle.如前面的博客所述,有以下三种ShuffleHandle:BypassMergeSortShuffleHandle BypassMergeSortShuffleWriter SerializedShuffleHandle Un...

2018-09-04 15:50:13

spark2.3源码分析之in-memory collection

AppendOnlyMap概述一个只可以添加数据的hashtable的实现。它的key值永远不会删除,而每个key的value值可能会改变。该hashtable使用开放探测方法中的二次探测法保存数据,所以内部只有一个数组的数据结构。该hashtable的大小始终为2的幂次方,最多可以支持0.7*2^29个元素。该hashtable为了内存本地性,在同一个数组中保...

2018-08-20 16:31:27

spark 2.3源码分析之SortShuffleWriter

SortShuffleWriter概述SortShuffleWriter它主要是判断在Map端是否需要本地进行combine操作。如果需要聚合,则使用PartitionedAppendOnlyMap;如果不进行combine操作,则使用PartitionedPairBuffer添加数据存放于内存中。然后无论哪一种情况都需要判断内存是否足够,如果内存不够而且又申请不到内存,则需要进行本地磁盘...

2018-08-20 16:30:54
CSDN身份
  • 博客专家
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。