最近在做一个项目,顺便把前段时间学习的ElasticSearch给用上,所以我在服务器上面安装了ES
结果忽视了个条件,ES默认的JVM内存占用为1G,而我服务器总共才2G,结果当然是寄了。
Restart...
JVM调优:
常用的参数(具体的bing下):
-Xmx4g:堆内存最大值为4GB。
-Xms4g:初始化堆内存大小为4GB。
-Xmn1200m:**设置年轻代大小为1200MB。**增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
-Xss512k:**设置每个线程的堆栈大小。**JDK5.0以后每个线程堆栈大小为1MB,以前每个线程堆栈大小为256K。应根据应用线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。
不过这里用到-Xmx和-Xms就行了
# 图片里面的代码有点问题,复制这个即可,请根据实际的ElasticSearch版本进行修改
docker run -id --name es -p 9200:9200 -p 9300:9300-e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xmx182, -Xms128m" xpack.security.enabled=true elasticsearch:8.6.2
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。