puppet 管理tomcat时 根据服务器的内存来设置Xms等jvm启动参数

install.pp中
......
......
file {"${basesolr}/solr/${tomcat_version}/bin/catalina.sh":
      require  => File["solr-tomcat-bin"],
      ensure   => present,
      content => template("solr/catalina.sh.erb"),
.....
.....
catalina.sh.erb 中
......
.......
JAVA_OPTS="-Xms<%="%.0f"%[@%.0f"%[@memorysize_mb.to_i-2048].to_i-2048]%>m -Xmx<%="%.0f"%[@memorysize_mb.to_i-2048]%>m  -Djava.rmi.server.hostname=<%= @fqdn %>
.....
......
这里设置的是主机内存数-2G,也可设置为%.0f"%[@memorysize_mb.to_i*0.9]等


――――――――――――――――――――――――――――――――――――
由于 facter提取的变量memorysize_mb为字符串类型 无法直接逻辑运算,需@memorysize_mb.to_i转换成float型数据,%.0f"% 保留小数点后面0位(取整?)
由于ruby语法不懂 不晓得有其他方法直接取整或转换数据类型没

你可能感兴趣的:(Ruby,puppet,erb模板)