Storm worker内存设置
worker相关参数:
topology.worker.max.heap.size.mb: 拓扑每个worker的最大堆内存worker.childopts:worker启动的JVM参数,其中-Xmx%HEAP-MEM%m使用的是topology.worker.max.heap.size.mbwoker.heap.memory.mb: worker的堆内存大小,默认为768m,如果上述参数未设置,则使用该参数
此外还可以通过代码设置:
config.setTopologyWorkerMaxHeapSize(512);
设置topology.worker.max.heap.size.mb参数。
通过实测,发现以上参数的设置不生效。
关于storm内存的相关配置可以参考:Resource Aware Scheduler
storm中每个component的默认堆内存为128m,可以在启动Topology时设置参数:topology.component.resources.onheap.memory.mb。
在storm中每个component可以设置堆内存和非堆内存:
// 如果未指定topology的component,则默认为128m
topology.component.resources.onheap.memory.mb: 128.0// 非堆内存
topology.component.resources.offheap.memory.mb: 0.0// 每个组件使用的CPU百分比
topology.component.cpu.pcore.percent: 10.0// 每个worker的最大堆内存
topology.worker.max.heap.size.mb: 768.0
同时也可以通过相关代码设置:
T setMemoryLoad(Number onHeap, Number offHeap); // 设置堆内存和非堆内存
有些静态的数据可以在component之间共享,因此可以设置共享堆内存的大小。
T addSharedMemory(SharedMemory request);
如果设置component的内存大于了worker的最大堆内存,则topology不能正确提交。
关于上面的内存设置举例:
如果一个worker上运行的总task数为5,即component数为5,topology.component.resources.onheap.memory.mb设置为128,则整个worker的JVM的堆内存为5*128=640m
在实际过程中,如果设置了topology.worker.max.heap.size.mb不管是大于640m还是小于640m,在UI界面和使用jmap -heap查看到的都是640m。
至于仅仅通过设置worker的最大堆内存不生效的原因暂时不清楚,但是如果Topology如果出现堆内存溢出,可以通过设置worker的最大堆内存解决。
此外可以通过设置参数topology.worker.childopts配置JVM。
Storm worker内存设置相关推荐
- Eclipse中JVM内存设置
为什么80%的码农都做不了架构师?>>> eclipse.ini内存设置 -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxP ...
- 修改以服务方式启动tomcat7的堆内存设置
为什么80%的码农都做不了架构师?>>> 如果已控制台方式启动tomcat,可以修改catalina.bat文件来设置java内存大小, set LOGGING_MANAGER=-D ...
- 全面认识Eclipse中JVM内存设置
这里向大家描述一下Eclipse中如何进行JVM内存设置,JVM主要管理两种类型的内存:堆和非堆.简单来说堆就是Java代码可及的内存,是留给开发人员使用的:非堆就是JVM留给自己用的,所以方 ...
- 【Android 逆向】Android 进程代码注入原理 ( 进程注入原理 | 远程调用流程 | 获取函数地址 | 设置 IP 寄存器 | mmap 申请内存 | 设置 SP 寄存器 )
文章目录 一.进程注入原理 二.远程调用流程 ( 获取 so 动态库地址 | 获取函数地址 | 设置 IP 寄存器 | mmap 申请内存 | 设置 SP 寄存器 ) 一.进程注入原理 调试进程 At ...
- linux 查看java最大内存配置,Linux和Windows下的内存设置
你对Tomcat JVM内存设置是否了解,本文向大家介绍一下Linux和Windows操作系统下Tomcat JVM内存设置方法,希望对你的学习有所帮助. Linux下修改Tomcat JVM内存设置 ...
- 《转载》Tomcat内存设置详解
原文地址:Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 ...
- java tomcat 内存设置,tomcat下java的内存设置
服务器在windowst平台下,运行tomcat跑java,可最近出现 java.lang.OutOfMemoryError: GC overhead limit exceeded 错误,网上goog ...
- 2、MyEclipse和Eclipse调优,MyEclipse配置(tomcat和jdk的内存设置),jar引入相关知识点,将Java项目编程web项目的办法
1.WindowàPreferenceàGeneralàWorkspaceàText file encoding都改成UTF-8 2.WindowàPreferenceàGeneralàEdito ...
- Tomcat内存设置详解
Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在 ...
最新文章
- C/C++中“#”和“##”的作用和用法
- 汇编语言——十种寻址方式
- 2019 年百度之星·程序设计大赛 - 初赛二
- [react] 解释下react中component和pureComponent两者的区别是什么?
- SQL Server中的窗口函数
- 明天发布一个基于Silverlight的类Visio小型绘图工具项目。
- 基于RV1126平台imx291分析 --- 运行设备(VIDIOC_STREAMON)
- 博途plc连接电脑_PLC编程中如何连接电脑将程序写入PLC
- 2019 live tex 发行版_下载和安装Texlive2019
- 服务器上删掉的数据如何找回,在服务器数据丢失情况下如何恢复数据
- 基于RFID和ZigBee室内定位技术原理浅析--室内定位--蓝牙定位--新导智能
- 每周学一点Egret(17)default.thm.json 文件编译小坑
- android fresco的底层,详解Android之图片加载框架Fresco基本使用(一)
- php is numeric用法,PHP使用 is_numeric的实例解析
- 洛谷 租用游艇 C++ Dijkstra 单源最短路/dp
- 尊尊网如何从0-1启动私域运营
- 第三阶段.Linux+arm
- 有人给你的长相“跑分”,有人给你的公司安全“跑分
- 接鸡蛋小游戏【终极版】【C语言】【原创】
- dos2unix命令将dos文件转换为unix格式