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),占用资源较少,方便在笔记本或学习环境快速部署,不适用于生产 ...
随机推荐
- MongoDB 安装、配置及详细使用教程
环境:win10 下载地址 :https://pan.baidu.com/s/1a0SwRv9er3HTewzcI8nWgQ 提取码:dyyx 下载后,将该文件夹放在C盘的根目录下,然后 ...
- UE5: UpdateOverlap - 从源码深入探究UE的重叠触发
前言 出于工作需要和个人好奇,本文对UE重叠事件更新的主要函数UpdateOverlaps从源码的角度进行了详细的分析,通过阅读源码,深入理解重叠事件是如何被触发和更新的. 解决问题 阅读本文,你将得 ...
- 2023-11-29:用go语言,给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。 需保证 返回结果的字典序最小。 要求不能打乱其他字符的相对位置)。 输入:s = “cba
2023-11-29:用go语言,给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次. 需保证 返回结果的字典序最小. 要求不能打乱其他字符的相对位置). 输入:s = &quo ...
- 兼容并蓄广纳百川,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang复合容器类型的声明和使用EP04
书接上回,容器数据类型是指一种数据结构.或者抽象数据类型,其实例为其他类的对象. 或者说得更具体一点,它是以一种遵循特定访问规则的方法来存储对象. 容器的大小取决于其包含的基础数据对象(或数据元素)的 ...
- 神经网络入门篇:详解深层网络中的前向传播(Forward propagation in a Deep Network)
深层网络中的前向传播 先说对其中一个训练样本\(x\)如何应用前向传播,之后讨论向量化的版本. 第一层需要计算\({{z}^{[1]}}={{w}^{[1]}}x+{{b}^{[1]}}\),\({{ ...
- 细说GaussDB(DWS)的2种查询优化技术
本文分享自华为云社区<GaussDB(DWS)查询优化技术大揭秘>,作者: 胡辣汤. 大数据时代,数据量呈爆发式增长,经常面临百亿.千亿数据查询场景,当数据仓库数据量较大.SQL语句执行效 ...
- 7种创建方式,带你理解Java的单例模式
本文分享自华为云社区<<Java极简设计模式>第01章:单例模式(Singleton)>,作者:冰 河. 单例设计模式 看几个单例对象的示例代码,其中有些代码是线程安全的,有些 ...
- 视频编码耗时长、编码帧发送失败…DVPP视频编码问题典型案例分析
摘要:本期就分享几个关于DVPP视频编码问题的典型案例,并给出原因分析及解决方法 本文分享自华为云社区<DVPP媒体数据处理视频编码问题案例>,作者:昇腾CANN. DVPP(Digita ...
- 18篇文章系统解读:中台规划如何撬动企业IT基础设施转型升级
摘要:通过这个系列,让大家对中台的价值.针对的问题痛点.中台规划的方法思路和技巧.一些中台业务实践有个基本的认识,让客户清楚的意识到企业中台的业务价值,进而通过企业中台规划牵引客户IT基础设施投资. ...
- 据说有人面试栽在了Thread类的stop()方法和interrupt()方法上
摘要:今天就简单的说说Thread类的stop()方法和interrupt()方法到底有啥区别. 本文分享自华为云社区<[高并发]又一个朋友面试栽在了Thread类的stop()方法和inter ...