solr jvm参数内存自动计算

solr默认jvm的堆内存只有512M 在生产环境中这个参数是不满足我们的需求的,手动去调整太麻烦了,可以写一些脚本根据物理内存的大小自动调整

这样就省事很多,在启动solr的时候会自动进行加载初始内存,直接修改solr.in.sh文件,在文件中加入下面的代码,重启服务就行

注意:需要用到bc,如果机器上没有安装bc的请使用yum  install   bc -y 进行安装

MEM_RATIO=0.5  #这个比列根据机器业务情况自行调整
system_memory_mb_total=$(free -m|grep Mem|awk '{print $2}')

java_memory_mb_total=$(echo "scale=1; $system_memory_mb_total * ${MEM_RATIO:-0.8}" | bc)

echo $java_memory_mb_total | grep -q '\.'

MATCH_STATUS=$?

if [[ $MATCH_STATUS -eq 0 ]] ; then
  jvm_memory_mb_total=$(echo $java_memory_mb_total | cut -d'.' -f1)
else
  jvm_memory_mb_total=$java_memory_mb_total
fi


SOLR_HEAP="${jvm_memory_mb_total}m"

  

作者:凉生墨客 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/heruiguo/p/15776009.html