We use systemd to run our CAS service. Here's our configs for running CAS with a larger heap:
/etc/systemd/system/cas.service:
[Unit]
Description=CAS Webserver
After=syslog.target
[Service]
EnvironmentFile=/etc/sysconfig/cas
User=cas
ExecStart=/bin/java $JAVA_OPTS -jar /opt/cas/cas.war
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
/etc/sysonfig/cas:
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1g -Xmx6g -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC -XX:-UseCompressedOops"
I don't recall if the embedded tomcat uses the JAVA_OPTS environment variable or the command line flags.