日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jvm感知docker容器参数

發布時間:2023/11/29 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jvm感知docker容器参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  docker中的jvm檢測到的是宿主機的內存信息,它無法感知容器的資源上限,這樣可能會導致意外的情況。

  -m參數用于限制容器使用內存的大小,超過大小時會被OOMKilled。

  -Xmx: ?默認為物理內存的1/4。

?

  4核CPU16G內存的宿主機

  java 7

docker run -m 1G -it openjdk:7u181 java -XX:+PrintFlagsFinal -version | grep MaxHeapSize # 結果是 16G / 4 = 4G

  java 8

docker run -m 1G -it adoptopenjdk/openjdk8:latest java -XX:+PrintFlagsFinal -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -version | grep MaxHeapSize # 結果是 1G / 4 = 256M

  java 9

docker run -m 1G -it adoptopenjdk/openjdk9:latest java -XX:+PrintFlagsFinal -version | grep MaxHeapSize # 結果是 16G / 4 = 4G java -XX:+PrintFlagsFinal -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -version | grep MaxHeapSize # 結果是 1G / 4 = 256M

  java 10

docker run -m 1G -it adoptopenjdk/openjdk10:latest # 給1G jshell -v # 啟動jshell java -XX:+PrintFlagsFinal -version | grep MaxHeapSize # 結果是 1G / 4 = 256M

  java5/6/7/8u131-:務必設置內存選項Xmx。

  java 8u131+和java 9+?-XX:+UnlockExperimentalVMOptions?-XX:+UseCGroupMemoryLimitForHeap。

  java 8u191+ UseContainerSupport默認開啟,backported;java 9暫未backport這個feature。

  java10+的UseContainerSupport默認開啟。

?

  Xmx的值可設置為鏡像上限減去150m或200m,根據具體業務考慮。因為棧內存等是不包含在堆內存中的。

  cat /sys/fs/cgroup/memory/memory.limit_in_bytes查看容器設置的最大內存。

  docker update -m 1024m test動態修改內存大小后,最好重啟容器。

?

  cpu和內存一樣,java10之前的版本感知到的是物理機上的資源。

  4CPU16G內存

  java 6/7/8/9

docker run --cpus 1 -m 1G -it adoptopenjdk/openjdk9:latest # 給1核jshell -J-Xmx512M -v # 啟動jshellRuntime.getRuntime().availableProcessors() # 結果是不是1!!!

  java 10

docker run --cpus 1 -m 1G -it adoptopenjdk/openjdk10:latest # 給1核jshell -J-Xmx512M -v # 啟動jshellRuntime.getRuntime().availableProcessors() # 結果是1

  java 10之前:手動設置jvm相關的選項,如:

  • ParallelGCThreads
  • ConcGCThreads
  • G1ConcRefinementThreads
  • CICompilerCount / CICompilerCountPerCPU

  java 10+:

  • UseContainerSupport, 默認開啟

轉載于:https://www.cnblogs.com/lnlvinso/p/9863609.html

總結

以上是生活随笔為你收集整理的jvm感知docker容器参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。