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语法不懂 不晓得有其他方法直接取整或转换数据类型没
本文转自天山三害 51CTO博客,原文链接:http://blog.51cto.com/skybug/1337793,如需转载请自行联系原作者