一.简介
修改ZooKeeper的堆内存大小,需要设置JVM的堆大小参数-Xmx和-Xms。一般情况下,生产环境给到2G足以,如果规模较大可以适当调大到4G。调整内存大小时,请确保物理内存可以支撑所设置的堆内存大小,以免发生内存溢出错误。
Java的Xms和Xmx参数是在JVM启动时用来设置堆内存初始大小和最大堆内存大小的参数。
二.修改
1.查看zk进程ID
[root@elk01 ~]# jps
39347 Kafka
34282 QuorumPeerMain #zk进程ID 34282
47210 Jps
23999 Elasticsearch
2.查看内存使用的详细信息
[root@elk01 ~]# jmap -heap 34282
Attaching to process ID 34282, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.351-b10
using thread-local object allocation.
Parallel GC with 2 thread(s)
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 1048576000 (1000.0MB) #当前堆内存1000M
NewSize = 44040192 (42.0MB)
MaxNewSize = 349175808 (333.0MB)
OldSize = 88080384 (84.0MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 33554432 (32.0MB)
used = 23892552 (22.78571319580078MB)
free = 9661880 (9.214286804199219MB)
71.20535373687744% used
From Space:
capacity = 5242880 (5.0MB)
used = 5232208 (4.9898223876953125MB)
free = 10672 (0.0101776123046875MB)
99.79644775390625% used
To Space:
capacity = 5242880 (5.0MB)
used = 0 (0.0MB)
free = 5242880 (5.0MB)
0.0% used
PS Old Generation
capacity = 88080384 (84.0MB)
used = 3264976 (3.1137237548828125MB)
free = 84815408 (80.88627624511719MB)
3.70681399390811% used
6694 interned Strings occupying 540752 bytes.
3.配置zk的堆内存
#所有zk节点修改
cat > /es/softwares/zk/conf/java.env << 'EOF'
export JAVA_HOME=/es/softwares/jdk1.8.0_351
export JVMFLAGS="-Xms2048m -Xmx2048m $JVMFLAGS"
EOF
#重启zk集群
zkServer.sh restart
4.验证zk的堆内存
[root@elk01 ~]# jmap -heap `jps | awk '/QuorumPeerMain/{print $1}'`
Attaching to process ID 48151, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.351-b10
using thread-local object allocation.
Parallel GC with 2 thread(s)
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 2147483648 (2048.0MB) #当前堆内存已调整为2048M
NewSize = 715653120 (682.5MB)
MaxNewSize = 715653120 (682.5MB)
OldSize = 1431830528 (1365.5MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 537395200 (512.5MB)
used = 354703696 (338.2718048095703MB)
free = 182691504 (174.2281951904297MB)
66.00425459698933% used
From Space:
capacity = 89128960 (85.0MB)
used = 0 (0.0MB)
free = 89128960 (85.0MB)
0.0% used
To Space:
capacity = 89128960 (85.0MB)
used = 0 (0.0MB)
free = 89128960 (85.0MB)
0.0% used
PS Old Generation
capacity = 1431830528 (1365.5MB)
used = 0 (0.0MB)
free = 1431830528 (1365.5MB)
0.0% used
6657 interned Strings occupying 535856 bytes.