[chef] Re: Re: Re: RE: Re: Re: [ANN] jvmargs, a sanity checker for JVM options


Chronological Thread 
  • From: Bryan Berry < >
  • To:
  • Subject: [chef] Re: Re: Re: RE: Re: Re: [ANN] jvmargs, a sanity checker for JVM options
  • Date: Thu, 21 Mar 2013 15:21:03 +0100

hey jesse,

i have removed the todo item

On Thu, Mar 21, 2013 at 2:56 PM, Jesse Campbell 
< >
 wrote:
> maybe have it be default to set the xms and xmx the same, but allow
> override? i'm guessing that setting the same is appropriate for most use
> cases, my group has a couple for which it wouldn't work at all :)
>
>
> On Thu, Mar 21, 2013 at 9:50 AM, Bryan Berry 
> < >
>  wrote:
>>
>> I will make it easy to add custom rules like just what you describe
>>
>> On Thu, Mar 21, 2013 at 2:44 PM, Nguyen, Dang 
>> < >
>> wrote:
>> > In some cases, an entire machine is dedicated for the jvm, but some
>> > memory
>> > should bee reserved for the operating system. So how about about
>> > supporting
>> > a percentage of total memory?
>> >
>> > ________________________________
>> > From: Bryan Berry
>> > Sent: Thu, Mar 21, 2013 06:31 AM
>> > To: 
>> > 
>> > Subject: [chef] Re: Re: [ANN] jvmargs, a sanity checker for JVM options
>> >
>> > min and max should be the same because there is no benefit to having a
>> > lower min according to everything I have read. It can slow down your
>> > application startup however.
>> >
>> > it will not support parsing a space delimited string, only the options
>> > specifically for the JVM, for example
>> >
>> > "java  -Djava.io.tmpdir=/tmp/foo -server -Xmx256m -Xint
>> > -XX:MaxPermSize=512M -classpath /tmp/foo.jar:/tmp/baz.jar
>> > org.apache.catalina.Bootstrap start "
>> >
>> > jvmargs doesn't add the java binary to the beginning nor the
>> > "org.apache.catalina.Bootstrap start"
>> >
>> > I do want to handle the classpath but i have not figured out a clean
>> > way to handle that yet :(
>> >
>> > i would very much appreciate feedback and testing. this afternoon i
>> > hope to add support for arbitrary rules like the following
>> >
>> > "if Max heap is greater than available RAM, raise an error"
>> > "if Max heap is changed, also set Min heap to same value"
>> >
>> > On Thu, Mar 21, 2013 at 2:18 PM, Jesse Campbell 
>> > < >
>> > wrote:
>> >> hey, been looking for something like this to come along, looks like a
>> >> very
>> >> clean, sane way to handle it :D
>> >>
>> >> in your todo you have ensure min and max heap should be the same. why
>> >> is
>> >> this?
>> >>
>> >> i didn't dig to far into the code, but will it support parsing a space
>> >> delimited string, as the current tomcat and tomcat6 cookbooks expect,
>> >> or
>> >> will the cookbook be expected to handle that?
>> >>
>> >> thanks!
>> >>
>> >>
>> >> On Thu, Mar 21, 2013 at 4:53 AM, Bryan Berry 
>> >> < >
>> >> wrote:
>> >>>
>> >>> hey folks,
>> >>>
>> >>> i have written a little gem to parse JVM options and would love some
>> >>> feedback on it. Managing JVM options in a cookbooks is a total PITA
>> >>> and I hope this makes it easier. This is less than alpha quality, i am
>> >>> posting it here to get some feedback, not to notify others of a
>> >>> production-ready tool. I foresee it being used in Java-related
>> >>> cookbooks to provide a set of application-specific defaults and then
>> >>> make it easy to override or add to them in recipe code.
>> >>>
>> >>> https://github.com/bryanwb/jvmargs
>> >>>
>> >>> This library parses JVM options so that any given option is only
>> >>> stored once. It does this by breaking each option into one of the
>> >>> three option categories:
>> >>>
>> >>> 1. standard, ex: -server, -enablesystemassertions
>> >>> 2. nonstandard, ex: -Xmx128M, -Xint
>> >>> 3. unstable, ex: -XX:-DisableExplicitGC, -XX:AltStack=128M
>> >>> 4. directive, ex: -Dcom.sun.management.jmxremote
>> >>>
>> >>> JVMArgs will ensure that only one value is stored for any given
>> >>> option. Here is a quick example
>> >>>
>> >>> args = JVMArgs::Args.new("-XX:-DisableExplicitGC", "-Xmx256M")
>> >>> # "-XX:-DisableExplicitGC" is now stored in args
>> >>> args.add("-XX:+DisableExplicitGC")
>> >>> args.add("-Xmx2G")
>> >>> # the settings are now "-XX:+DisableExplicitGC" and "-Xmx2G"
>> >>
>> >>
>
>



Archive powered by MHonArc 2.6.16.

§