国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

docker啟動ES內存溢出的解決方案

瀏覽:75日期:2024-10-30 11:41:54

在elasticsearch的config中加jvm.options文件,修改堆棧大小,默認是2GB,直接啟動es即可,保證之前已經映射了配置文件。

-Xms5g-Xmx5g完整jvm.options文件如下:

## JVM configuration################################################################## IMPORTANT: JVM heap size#################################################################### You should always set the min and max JVM heap## size to the same value. For example, to set## the heap to 4 GB, set:#### -Xms4g## -Xmx4g#### See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html## for more information################################################################### Xms represents the initial size of total heap space# Xmx represents the maximum size of total heap space-Xms5g-Xmx5g################################################################## Expert settings#################################################################### All settings below this section are considered## expert settings. Don’t tamper with them unless## you understand what you are doing#################################################################### GC configuration-XX:+UseConcMarkSweepGC-XX:CMSInitiatingOccupancyFraction=75-XX:+UseCMSInitiatingOccupancyOnly## optimizations# pre-touch memory pages used by the JVM during initialization-XX:+AlwaysPreTouch## basic# force the server VM (remove on 32-bit client JVMs)-server# explicitly set the stack size (reduce to 320k on 32-bit client JVMs)-Xss1m# set to headless, just in case-Djava.awt.headless=true# ensure UTF-8 encoding by default (e.g. filenames)-Dfile.encoding=UTF-8# use our provided JNA always versus the system one-Djna.nosys=true# use old-style file permissions on JDK9-Djdk.io.permissionsUseCanonicalPath=true# flags to configure Netty-Dio.netty.noUnsafe=true-Dio.netty.noKeySetOptimization=true-Dio.netty.recycler.maxCapacityPerThread=0# log4j 2-Dlog4j.shutdownHookEnabled=false-Dlog4j2.disable.jmx=true-Dlog4j.skipJansi=true## heap dumps# generate a heap dump when an allocation from the Java heap fails# heap dumps are created in the working directory of the JVM-XX:+HeapDumpOnOutOfMemoryError# specify an alternative path for heap dumps# ensure the directory exists and has sufficient space#-XX:HeapDumpPath=${heap.dump.path}## GC logging#-XX:+PrintGCDetails#-XX:+PrintGCTimeStamps#-XX:+PrintGCDateStamps#-XX:+PrintClassHistogram#-XX:+PrintTenuringDistribution#-XX:+PrintGCApplicationStoppedTime# log GC status to a file with time stamps# ensure the directory exists#-Xloggc:${loggc}# By default, the GC log file will not rotate.# By uncommenting the lines below, the GC log file# will be rotated every 128MB at most 32 times.#-XX:+UseGCLogFileRotation#-XX:NumberOfGCLogFiles=32#-XX:GCLogFileSize=128M# Elasticsearch 5.0.0 will throw an exception on unquoted field names in JSON.# If documents were already indexed with unquoted fields in a previous version# of Elasticsearch, some operations may throw errors.## WARNING: This option will be removed in Elasticsearch 6.0.0 and is provided# only for migration purposes.#-Delasticsearch.json.allow_unquoted_field_names=true

補充:Docker 容器內存限制

Docker 內存限制

docker run -d -i -t -m 256M --memory-swap 512M --name centos2.12 centos /bin/bash查看容器實例 內存限制:

docker啟動ES內存溢出的解決方案

限制容器內存大??;

docker run -d -i -t -m 256M --memory-swap 512M --name centos centos /bin/bash

-m, --memory # 內存限制大小,單位可以為 b,k,M,g;最小為4M--memory-swap# 內存+交換分區大小總限制--memory-reservation # 預留內存大小;容器在宿主機最小占用內存;--oom-kill-disable# out-of-memory 內存溢出;限制kill容器進程,默認沒設置--oom-score-adj# 容器被 OOM killer 殺死的優先級,范圍是[-1000, 1000],默認為 0--memory-swappiness# 用于設置容器的虛擬內存控制行為。值為 0~100 之間的整數--kernel-memory核心內存限制,最小為 4M。1、memory 設置容器內存大?。?p>--memory-swap 不是交換分區,而是 memory + swap 的大??;容器的交換分區 swap = memory-swap - memory2、Docker 默認容器交換分區的大小和內存相同

memory-swap 不設置 或者設置為 0 ;容器的交換分區 swap 大小就是 memory 的小大;容器的進程使用最大內存 = memory + swap3、memory-swap 設置

當 memory-swap 設置為 -1 時;容器內存大小為 memory 設置的大小;交換分區大小為宿主機 swap 大?。蝗萜鬟M程能使用的最大內存 = memory + 宿主機 swap 大??;4、內存溢出

--oom-kill-disable限制 kill 容器進程; (必須設置在 memory 之后才有限;)docker run -d -i -t -m 256M --oom-kill-disable --name Centos-1 centos /bin/bash5、核心內存 & 用戶內存

核心內存和用戶內存不同的地方在于核心內存不能被交換出。

不能交換出去的特性使得容器可以通過消耗太多內存來堵塞一些系統服務。

核心內存包括:stack pages(棧頁面)slab pagessocket memory pressuretcp memory pressure

可以通過設置核心內存限制來約束這些內存。

每個進程都要消耗一些棧頁面,通過限制核心內存,可以在核心內存使用過多時阻止新進程被創建。

docker run -d -i -t -m 500M --kernel-memory 128M --name Centos-2 centos /bin/bash限制容器內存 256M;限制核心內存 128M 。docker run -d -i -t --kernel-memory 128M --name Centos-3 centos /bin/bash內存為宿主機memory大小, 限制核心內存 128M6、Swappiness 內存回收頁

容器的內核可以交換出一定比例的匿名頁。

--memory-swappiness就是用來設置這個比例的。--memory-swappiness可以設置為從 0 到 100。# 0 表示關閉匿名頁面交換。# 100 表示所有的匿名頁都可以交換。默認情況下,如果不適用--memory-swappiness,則該值從父進程繼承而來。docker run -d -i -t --memory-swappiness=0 --name Centos-4 centos /bin/bash將--memory-swappiness設置為 0 可以保持容器的工作集,避免交換代理的性能損失。

Swappiness 的值越大,表示越積極使用swap分區,越小表示越積極使用物理內存。默認值swappiness=60

sysctl vm.swappiness = 100 # cat /proc/sys/vm/swappiness

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Docker
相關文章:
主站蜘蛛池模板: 国产成人99久久亚洲综合精品 | 喷潮白浆直流在线播放 | 在线观看片成人免费视频 | 久综合| 日韩 亚洲 制服 欧美 综合 | 一区二区三区影视 | 中文字幕巨乱亚洲 | 欧美xxx国产xxx | 亚洲欧美日韩另类精品一区二区三区 | 亚洲韩国欧美 | 又黄又骚 | 欧美一级免费在线观看 | 日本国产最新一区二区三区 | 男女一级 | 日本免费观看的视频在线 | 中文字幕亚洲在线 | 国产欧美一区二区三区免费看 | 久草热在线观看 | 九九九热在线精品免费全部 | 日本乱人伦毛片 | 97视频免费上传播放 | 国产91精品一区二区麻豆亚洲 | 成人观看视频又黄又免费 | 久草在线视频免费资源观看 | 韩国精品一区二区三区四区五区 | 免费看成人频视在线视频 | 欧美高清性刺激毛片 | 亚洲日本在线观看网址 | 亚洲一区在线视频 | 国产成人免费福利网站 | 中国一级特黄真人毛片 | 久久99久久99精品 | 99精品国产在现线免费 | 国产精品怡红院在线观看 | 亚洲一区二区在线成人 | 九九视频免费精品视频免费 | 99热在线观看 | 一级黄色毛片免费看 | 曰本美女高清在线观看免费 | 日本中文字幕不卡免费视频 | 日韩美女视频一区 |