K8S增加限制后的启动时间验证
K8S增加限制后的启动时间验证
背景
前段时间看了下JVM载linux上面的启动时间, 进行过一些验证.
最近想着能够验证一下K8S上面的启动相关的信息
所以就整理了一下.
虽然没有特别好的结论,
但是还是发现自己对JVM的启动和参数还是了解的不够深入.
自己的几个启动参数
1. "-XX:MaxRAMPercentage=80.0","-XX:MinRAMPercentage=50.0"
2. "-XX:-UseAdaptiveSizePolicy","-XX:MaxRAMPercentage=80.0","-XX:MinRAMPercentage=50.0"
3. "-XX:-UseAdaptiveSizePolicy","-XX:InitialRAMPercentage=75.0","-XX:MaxRAMPercentage=75.0","-XX:MinRAMPercentage=75.0"
4. "-XX:InitialRAMPercentage=75.0","-XX:MaxRAMPercentage=75.0","-XX:MinRAMPercentage=75.0","-XX:SurvivorRatio=3","-XX:NewRatio=1",
启动脚本挨个说明
启动顺序的排序为:
4 3 1 2
详细信息为:
4. 最快, 怀疑启动过程中, 需要消耗最多的young区域. old区域可以不用非常大. 所以比较适合启动.
3. 次之, 与4的启动速度相差无几, 所以感觉方式3 应该是比较好的启动方式.
1. 再次之, 慢大约 5%左右, 其实差异性不是很大, 但是堆区大小有一些差异.
2. 最慢, 堆没有设置初始堆大小, 最大最小堆不一样, 然后还关闭了 自适应堆区设置, 导致启动速度很慢, 90min都没有启动起来.
堆区显示也只有1G左右, 所以几乎不可用.
关于堆区的显示问题
进入容器后可以使用jmap -heap 1 的方式进行查看.
New Generation (Eden + 1 Survivor Space):
capacity = 9709027328 (9259.25MB)
Eden Space:
capacity = 7281836032 (6944.5MB)
From Space:
capacity = 2427191296 (2314.75MB)
To Space:
capacity = 2427191296 (2314.75MB)
tenured generation:
capacity = 12136218624 (11574.0MB)
注意这个设置的是 :
"-XX:SurvivorRatio=3","-XX:NewRatio=1"
关于开启UseAdaptiveSizePolicy的情况
内存启动过程中 堆区变化是很大的
一开始:
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 24052236288 (22938.0MB)
NewSize = 156237824 (149.0MB)
MaxNewSize = 8017412096 (7646.0MB)
OldSize = 313524224 (299.0MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = 0 (0.0MB)
三分钟后
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 24052236288 (22938.0MB)
NewSize = 156237824 (149.0MB)
MaxNewSize = 8017412096 (7646.0MB)
OldSize = 313524224 (299.0MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = 0 (0.0MB)
关于资源限制
resources:
limits:
cpu: 6
memory: 28Gi
requests:
cpu: 6
memory: 28Gi
K8S增加限制后的启动时间验证的更多相关文章
- 微服务探索之路04篇k8s增加子节点,metrics资源监控,ingress-nginx域名配置及https配置
1 k8s增加子节点 1.1 子节点服务器安装docker,使用脚本自动安装 curl -fsSL https://get.docker.com | bash -s docker --mirror A ...
- SVN增加文件后,文件无法自动包括在项目中的原因
当增加文件后,不仅要提交所增加的文件,而且要把项目文件一并提交.不然就会出现其他人虽然能够获取新文件,但是文件不能自动加载到项目中的情况.
- rancher导入k8s集群后添加监控无数据
1.日志报错 rancher导入k8s集群后添加监控无数据,rancher日志报错: k8s.io/kube-state-metrics/pkg/collectors/builder.go:: Fai ...
- SpringBoot项目中使用swagger2暴露resftul接口增加JWT来进行安全性验证
首先推荐两篇文章: 关于保护RestAPI的一些介绍: http://www.jianshu.com/p/6307c89fe3fa token与session的一些区别漫谈: http://www.j ...
- Easyui 关闭弹出框后还显示验证提示信息
今天下午做form表单,然后可以保存,可以关闭.可是关闭的时候老是会在屏幕左上角显示验证提示框,很是着急. 如图: 可能是easyui自己框架的问题,或许是因为网上有的人,自己代码写得有问题,没有调试 ...
- hibernate中增加annotation @后不提示信息【转】
此文转自:http://blog.knowsky.com/252047.htm 所需要用到的3个jar包分别是: hibernate-annotations.jar ejb3-persistence. ...
- Tcl与Design Compiler (九)——综合后的形式验证
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 这里来讲一下forma ...
- js实现非模态窗口增加数据后刷新父窗口数据
父窗口是由两个部分组成,一个html的table,一部分是extjs的gird. 点击grid面板[增加]按钮将会弹出非模态窗口进行新数据的编辑页面 下面是按钮的触发函数代码: var a = win ...
- Dynamics Crm 2011 Or 2013 IFD 部署一段时间后,CA验证问题
以下错误描述摘自博客:http://blog.csdn.net/qzw4549689/article/details/14451257 IFD部署一段时间后,大概一年,突然出现从IFD登录页面登录后, ...
- centos7.3 kubernetes/k8s 1.10 离线安装 --已验证
本文介绍在centos7.3使用kubeadm快速离线安装kubernetes 1.10. 采用单master,单node(可以多node),占用资源较少,方便在笔记本或学习环境快速部署,不适用于生产 ...
随机推荐
- Napping - vulnhub - writeup
Napping - vulnhub - writeup 信息收集 目标开放了22和80. root@kali ~ » arp-scan -I eth1 -l Interface: eth1, type ...
- JavaFx css样式(三)
JavaFx css样式(三) JavaFX 从入门入门到入土系列 JavaFx css样式,前面我说过它类似html,他有css控制样式,不过最新的css标准并不支持,同时javafx的css样式都 ...
- MySQL篇:第四章_详解DML语言
DML语言 插入 一.方式一 语法: insert into 表名(字段名,...) values(值1,...); 特点: 1.字段类型和值类型一致或兼容,而且一一对应 2.可以为空的字段,可以不用 ...
- java进行数据库操作的并发控制的2种方法
本文分享自华为云社区<java进行数据库操作的并发控制>,作者:张俭. 在现代应用编码中,从数据库里面find出来,进行一些业务逻辑操作,最后再save回去.即: Person perso ...
- 划重点!DWS开发的五大要点
摘要:高效使用数据库是一个合格的开发工程师的必备技能,如何使用DWS进行高效开发,提升应用效率,技术干货来喽~~~ 高效使用数据库是一个合格的开发工程师的必备技能,如何使用DWS进行高效开发,提升应用 ...
- 实践GoF的设计模式:访问者模式
摘要:访问者模式的目的是,解耦数据结构和算法,使得系统能够在不改变现有代码结构的基础上,为对象新增一种新的操作. 本文分享自华为云社区<[Go实现]实践GoF的23种设计模式:访问者模式> ...
- 火山引擎DataLeap联合DataFun发布《数据治理知识地图》
近期,火山引擎DataLeap和技术社区DataFun联合发布<数据治理知识地图专业版V1>(以下简称"地图"),地图将数据治理的领域.流程.技术.工具等内容进行系统化 ...
- WPF 自定义可拖动标题栏
要注意,拖拽的地方,需要加背景色,否则 DrageMove 将无效 MainWindows.xaml <Window x:Class="Report.MainWindow" ...
- Intellij IDEA 关闭阿里编码规约“请不要使用行尾注释”提醒
Settings -> Inspections -> 注释 取消 "方法内部单行注释 xxxx " 里面的勾,[设完后重启]如下图
- 【JAVA基础】常量变量维护
常量维护 //参与签名的系统Header前缀,只有指定前缀的Header才会参与到签名中 //换行符 private static final char LF = '\n'; public stati ...