Grails1.1和Groovy1.6的Java虚拟机的内存设置和调整
作者:Frerk Meyer
2009.3.21
在这篇文章中,我希望回答下列问题:
.Grails1.1和Groovy1.6的Java虚拟机的内存设置和调整隐藏在哪里,以及我们如何来改变它们?
.最新的版本和旧的版本之间有什么不同?
.以上这些设置和调整在windows和linux之间的不同需要我们掌握吗?
Grails1.1和Grails1.0.2的Java虚拟机的内存设置
如果你运行grails命令,在linux/unix平台,它是执行"$GRAILS_HOME/bin/startGrails"命令;而在windows平台,是执行"$GRAILS_HOME/bin/startGrails.bat"的批处理。这些脚本在linux和windows之间有不同的行为,并且在windows平台上,不同版本之间的设置也不同。
.linux平台的Grails 1.1:即使你设置"$JAVA_OPTS"为不同的数值,但是"server" JVM只有最大为"512 Mb"的堆空间。
. linux平台的Grails 1.02:和上面的情况相同。
.windows平台的Grails 1.1:如果没有设置"$JAVA_OPTS"参数,那么使用最大为"512 Mb"的堆空间,并且自动选择Java虚拟机引擎。
. windows平台的Grails 1.02:如果没有设置"$JAVA_OPTS"参数,那么使用最大为"128 Mb"的堆空间,并且自动选择Java虚拟机引擎。
从我的观点来看,windows平台的Grails 1.1有着最好的体验,应该被Linux/Unix平台采纳。如果我有很好的理由来设置"$JAVA_OPTS"参数,那么我不希望它不能被修改。我不知道如果设置"-Xmx512m"和"-Xmx256m"参数,JVM到底会额外做些什么。但是如果能够使用前面的参数,那么使用后面的参数会导致一个错误?
所以我在我的Linux系统里改变了"startGrails"命令,如下:
# comment the old setting
# JAVA_OPTS="-server -Xmx512M $JAVA_OPTS"
# check for $JAVA_OPTS instead:
if [ "$JAVA_OPTS" == "" ]; then
JAVA_OPTS="-server -Xmx512m"
fi
但是必须注意:如果你使用war包发布你的Grails应用到一个应用服务器上,那么这些内存设置不再有效;取而代之的是,你必须为你的应用设置应用服务器的内存设置。
Groovy1.6 Java虚拟机的内存设置
如果你运行groovy命令,在Linux/Unix平台会执行"$GROOVY_HOME/bin/startGroovy",在Windows平台会执行"$GROOVY_HOME/bin/startGroovy.bat"。这些脚本在Linux和Windows分别不同,但是在各自的平台上,Groovy版本1.6和版本1.5.7却是相同的。下面是这些不同:
.Linux平台的Groovy1.6:如果设置了"$JAVA_OPTS"的话,就会起作用,JVM的默认设置只有在"$JAVA_OPTS"为空或者没有设置的情况下起作用。
.Windows平台的Groovy1.6:"$JAVA_OPTS"肯定起作用,如果"$JAVA_OPTS"为空或者没有设置,那么最大堆空间为128Mb。
你可以通过设置在"$HOME/.groovy/startup"文件里的"$JAVA_OPTS"更改所有的Groovy应用的内存设置,不受其他Java应用的影响,这个文件会被startGroovy脚本读取,如果它存在的话,会被当做一个shell脚本来运行。
在开源的Java应用服务器里设置JVM内存
Paul Gu在他的blog"6 Common Errors in Setting Java Heap Size"里,不仅列出了在设置堆大小的时候的大量陷阱和错误,而且给出了很多关于怎么找出堆大小和不同的Java应用包括很多开源的Java应用服务器的"$JAVA_OPTS"设置的提示。很多提示都能帮助你在不同的系统发布你的Grails应用,并且能够调整你的JVM内存设置。
原文网址:http://www.groovygrails.de/blog/groovygrails/entry/grails_1_1_and_groovy
分享到:
相关推荐
通过阅读《Grails1.1中文文档.chm》和解压后的《Grails.rar》文件,你可以获得详细的框架指南、API文档和示例代码,从而加速学习进程。对于初学者来说,这份文档将是你理解Grails 1.1及其开发流程的重要参考资料。
8. **国际化(i18n)**:Grails支持多语言环境,文档将介绍如何设置和使用国际化资源文件。 9. **插件系统**:Grails的插件系统极大地扩展了其功能,文档会讲解如何安装、使用及开发插件。 10. **测试**:文档会...
这份“Grails1.1中文文档”是专为初学者准备的指导材料,帮助他们更好地理解和掌握Grails框架。 1. **Groovy语言基础**:Grails 使用 Groovy 作为主要编程语言,Groovy 是一种简洁、面向对象的JVM语言,具有动态...
Grails是一种基于Groovy语言构建的开源Web应用框架,它融合了敏捷开发理念与传统的Java企业级开发优势。Grails的设计目标是提高开发效率和简化Web应用程序的复杂度。通过使用约定优于配置的原则以及内建的ORM框架...
Grails是一个基于Groovy语言的开源框架,它采用了模型-视图-控制器(MVC)架构模式,简化了Java EE应用的开发流程,提供了丰富的插件系统和自动化工具,以提高开发效率。 1. **Groovy语言基础**:Grails是用Groovy...
Grails1.1最新 中文 文档 当今的Java Web开发技术显得过于复杂,相对于它本身的需要来说。现在主流的Java Web框架也是异常复杂,而且没有很好的遵循 Don't Repeat Yourself (DRY) 法则。 因此我们要以一种新的思维...
在IT行业中,Grails是一个基于Groovy语言的开源Web应用框架,它简化了Java平台上的开发工作。本文将深入探讨Grails 1.1版本中的动态编码方案,这是该框架提供的一种强大且灵活的特性,使得开发者能够在运行时动态地...
Grails 最新的 v1.1版的中文文档,chm格式,Grails是一套快速开发Web应用的开源框架,基于Groovy编程语言,并构建于Spring、Hibernate和其它标准Java框架之上,能为大家带来超高效率的一站式框架。
Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它使得在Eclipse环境中进行Groovy和Grails应用的开发变得更为便捷。Groovy是一种动态、面向对象的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,...
Groovy和Grails都是基于Java平台的,因此首先需要安装Java。本文档中的版本为JDK 1.6.10,可以从以下地址下载: - 下载地址:`...
Grails1.1中文文档-----2009.3.25
在Grails中,开发人员可以利用Groovy的简洁语法和动态特性,同时享受到Java平台的稳定性和可扩展性。 **Groovy 语言基础** Groovy 是一种强大的、动态的、面向对象的编程语言,它与Java兼容并可以在Java虚拟机...
因为Grails是基于Groovy的,而Groovy又是在Java平台上运行的,所以Java环境是必须的。如果你还没有安装Java环境,请先安装JDK(Java Development Kit)。 接下来,我们将按照以下步骤来搭建Grails环境: 1. **下载...
6. **构建工具**:Groovy经常用于构建工具,如Grails(基于Groovy的Web应用框架)和Gradle(构建自动化工具),1.6.4版本能与这些工具良好协作。 7. **面向对象编程**:Groovy支持面向对象编程,包括类、接口、继承...