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内存设置相关推荐

  1. Eclipse中JVM内存设置

    为什么80%的码农都做不了架构师?>>>    eclipse.ini内存设置 -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxP ...

  2. 修改以服务方式启动tomcat7的堆内存设置

    为什么80%的码农都做不了架构师?>>> 如果已控制台方式启动tomcat,可以修改catalina.bat文件来设置java内存大小, set LOGGING_MANAGER=-D ...

  3. 全面认识Eclipse中JVM内存设置

        这里向大家描述一下Eclipse中如何进行JVM内存设置,JVM主要管理两种类型的内存:堆和非堆.简单来说堆就是Java代码可及的内存,是留给开发人员使用的:非堆就是JVM留给自己用的,所以方 ...

  4. 【Android 逆向】Android 进程代码注入原理 ( 进程注入原理 | 远程调用流程 | 获取函数地址 | 设置 IP 寄存器 | mmap 申请内存 | 设置 SP 寄存器 )

    文章目录 一.进程注入原理 二.远程调用流程 ( 获取 so 动态库地址 | 获取函数地址 | 设置 IP 寄存器 | mmap 申请内存 | 设置 SP 寄存器 ) 一.进程注入原理 调试进程 At ...

  5. linux 查看java最大内存配置,Linux和Windows下的内存设置

    你对Tomcat JVM内存设置是否了解,本文向大家介绍一下Linux和Windows操作系统下Tomcat JVM内存设置方法,希望对你的学习有所帮助. Linux下修改Tomcat JVM内存设置 ...

  6. 《转载》Tomcat内存设置详解

    原文地址:Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 ...

  7. java tomcat 内存设置,tomcat下java的内存设置

    服务器在windowst平台下,运行tomcat跑java,可最近出现 java.lang.OutOfMemoryError: GC overhead limit exceeded 错误,网上goog ...

  8. 2、MyEclipse和Eclipse调优,MyEclipse配置(tomcat和jdk的内存设置),jar引入相关知识点,将Java项目编程web项目的办法

    1.WindowàPreferenceàGeneralàWorkspaceàText file encoding都改成UTF-8 2.WindowàPreferenceàGeneralàEdito ...

  9. Tomcat内存设置详解

    Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在 ...

最新文章

  1. C/C++中“#”和“##”的作用和用法
  2. 汇编语言——十种寻址方式
  3. 2019 年百度之星·程序设计大赛 - 初赛二
  4. [react] 解释下react中component和pureComponent两者的区别是什么?
  5. SQL Server中的窗口函数
  6. 明天发布一个基于Silverlight的类Visio小型绘图工具项目。
  7. 基于RV1126平台imx291分析 --- 运行设备(VIDIOC_STREAMON)
  8. 博途plc连接电脑_PLC编程中如何连接电脑将程序写入PLC
  9. 2019 live tex 发行版_下载和安装Texlive2019
  10. 服务器上删掉的数据如何找回,在服务器数据丢失情况下如何恢复数据
  11. 基于RFID和ZigBee室内定位技术原理浅析--室内定位--蓝牙定位--新导智能
  12. 每周学一点Egret(17)default.thm.json 文件编译小坑
  13. android fresco的底层,详解Android之图片加载框架Fresco基本使用(一)
  14. php is numeric用法,PHP使用 is_numeric的实例解析
  15. 洛谷 租用游艇 C++ Dijkstra 单源最短路/dp
  16. 尊尊网如何从0-1启动私域运营
  17. 第三阶段.Linux+arm
  18. 有人给你的长相“跑分”,有人给你的公司安全“跑分
  19. 接鸡蛋小游戏【终极版】【C语言】【原创】
  20. dos2unix命令将dos文件转换为unix格式

热门文章

  1. 怎样将window上的文件传输到虚拟机(vm上的linux系统)
  2. Java面试准备(三)——Java并发
  3. Win10使用技巧总结
  4. thickbox的使用
  5. 新一代 PaaS 平台 Tanzu Application Platform初探
  6. 百位专家、汇聚社区力量——CSDN社区大趴圆满结束
  7. 个人数据同步用派盘就好啦!
  8. 2019微博#让红包飞#圆满收官 4.6亿网友嗨抢锦鲤红包
  9. QML AbstractButton | Button | ButtonGroup | Action
  10. 百度文字转语音网址直链