首页 > 其他分享 >K8S增加限制后的启动时间验证

K8S增加限制后的启动时间验证

时间:2023-12-21 17:57:38浏览次数:33  
标签:capacity 启动 堆区 MB 75.0 XX 验证 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

标签:capacity,启动,堆区,MB,75.0,XX,验证,K8S
From: https://www.cnblogs.com/jinanxiaolaohu/p/17919746.html

相关文章

  • 手把手教你isPalindrome 方法在密码验证中的应用
    在信息安全领域中,密码验证是一个极为重要的组成部分。一个强密码应具备足够的复杂性,以免遭到破解。而回文密码是一种具备特殊性质的密码,其正序和倒序相同,因此具有极高的安全性,并能发挥重要作用。在实际密码策略中,我们可以使用回文判断算法中的isPalindrome来验证用户输入的密码是......
  • js逆向-某天下房地产验证码
    声明本文仅供学习参考,如有侵权可私信本人删除,请勿用于其他途径,违者后果自负!如果觉得文章对你有所帮助,可以给博主点击关注和收藏哦!前言目标网站:aHR0cHM6Ly9wYXNzcG9ydC5mYW5nLmNvbS8=``接口:短信验证码登录接口在此特别感谢k哥的文章及本人的指导。【验证码逆向专栏】房某下登......
  • 一些数据可以验证测试使用功能的
    INSERTINTOoffline_news(id,status,create_time)VALUES(15455114757359,0,"),2023-08-3111:24:43"),);INSERTINTOoffline_news(id,status,create_time)VALUES(24709425874357,0,"),2023-08-3111:24:43"),);INSERTINTOofflin......
  • 自己新建的一个项目作为分布式的调研学习以及使用功能的启动消息如下
    D:\work\Java\jdk-17.0.4.1\bin\java.exe-agentlib:jdwp=transport=dt_socket,address=127.0.0.1:1117,suspend=y,server=n-XX:TieredStopAtLevel=1-Dspring.output.ansi.enabled=always-Dcom.sun.management.jmxremote-Dspring.jmx.enabled=true-Dspring.liveBean......
  • Modbus转PROFINET网关TS-180快速实现软启动器和马达保护器与西门子PLC的通信
    在钢铁厂的生产过程中,电机作为驱动各种生产机械和辅助设备的关键设备,其正常运行对于生产效率和质量至关重要。为了确保电机的正常运行和使用寿命,通常会使用软启动器和马达保护器等设备,因此监控软启和马达保护器的工作参数成为重点。 福建某钢铁厂,中控室使用S7-1515PLC,实时监控现......
  • k8s Ingress使用详解(云原生kubernetes)
    k8s Ingress使用详解(云原生kubernetes)目录一、什么是Ingress二、Ingress工作机制三、Ingress核心概念四、Ingress工作原理五、Ingress使用搭建Ingress环境1、获取ingress-nginx2、创建ingress-nginx部署两组service创建tomcat-nginx.yaml配置Http访问代理如何通过外网......
  • 微服务启动-端口already exist
    微服务项目启动eureka成功,port:8761,再次启动其他服务都报错:8761端口已经alreadyexist,如何解决?明明各自服务在其各自的application.yaml文件都配置了端口号port,不应该有冲突诶。在确定自己没有编写错误的前提下,不断重启就行了!!!下面看情况去测试,主要是我没搞清楚问题来源。搜了好......
  • 21.获取App包和启动页
    1.adb连接模拟机adbconnect127.0.0.1:75552.查看连接状态adbdevices3.查看模拟器上所有的app包adbshellpmlistpackages4.查看要启动app的包名adbshellpmlistpackages|findstrwework5.抓取详细日志(1代表次数)adbshellmonkey-p"com.tencent.wework"-v......
  • 转 Windows下Redis安装及自启动
    Redis下载Redis官方网站没有提供Windows版的安装包,可以通过GitHub来下载Windows版Redis安装包,下载地址:点击前往。打开上述的下载地址链接,Redis支持32位和64位的Window系统,根据个人情况自行下载,如图1所示:    下载完成后,打开相应的文件夹,可以看到如下文......
  • 深入 K8s 网络原理(二)- Service iptables 模式分析
    目录1.概述2.准备Service和Pods资源3.K8s里Service的实现原理3.1kube-proxy组件3.2iptables简介3.3iptables规则3.3.1Service,Pod和Host信息3.3.2从NodePort入手寻找iptables规则3.3.3从PREROUTING和OUTPUT链寻找K8s相关子链3.3.4总结下4.总结1......