def __init__(self, service, jvm_opts, full_jvm_opts): self.service = service if full_jvm_opts: self.jvm_opts = full_jvm_opts if jvm_opts: self._add_jvm_opts(jvm_opts) else: self.jvm_opts = create_jvm_settings( opts=jvm_opts, gc_dump_path=os.path.join(service.log_dir, "gc.log"), oom_path=os.path.join(service.log_dir, "out_of_mem.hprof")) self._add_jvm_opts([ "-DIGNITE_SUCCESS_FILE=" + os.path.join(self.service.persistent_root, "success_file"), "-Dlog4j.configDebug=true" ]) if self.service.config and self.service.config.service_type == IgniteServiceType.THIN_CLIENT: self._add_jvm_opts( ["-Dlog4j.configuration=file:" + self.service.log_config_file]) if service.context.globals.get(JFR_ENABLED, False): self._add_jvm_opts([ "-XX:+UnlockCommercialFeatures", "-XX:+FlightRecorder", "-XX:StartFlightRecording=dumponexit=true," + f"filename={self.service.jfr_dir}/recording.jfr" ])
def __get_default_jvm_opts(self): """ Return a set of default JVM options. """ default_jvm_opts = create_jvm_settings( gc_dump_path=os.path.join(self.service.log_dir, "gc.log"), oom_path=os.path.join(self.service.log_dir, "out_of_mem.hprof")) default_jvm_opts = merge_jvm_settings(default_jvm_opts, [ "-DIGNITE_SUCCESS_FILE=" + os.path.join(self.service.persistent_root, "success_file"), "-Dlog4j.configDebug=true" ]) if self.service.config and self.service.config.service_type == IgniteServiceType.THIN_CLIENT: default_jvm_opts = merge_jvm_settings(default_jvm_opts, [ "-Dlog4j.configurationFile=file:" + self.service.log_config_file ]) if self.service.context.globals.get(JFR_ENABLED, False): default_jvm_opts = merge_jvm_settings(default_jvm_opts, [ "-XX:+UnlockCommercialFeatures", "-XX:+FlightRecorder", "-XX:StartFlightRecording=dumponexit=true," + f"filename={self.service.jfr_dir}/recording.jfr" ]) jmx_remote_params = get_jmx_remote_params(self.service.context.globals) if jmx_remote_params.enabled: default_jvm_opts = merge_jvm_settings(default_jvm_opts, [ "-Dcom.sun.management.jmxremote", "-Dcom.sun.management.jmxremote.port=%d" % jmx_remote_params.port, "-Dcom.sun.management.jmxremote.local.only=false", "-Dcom.sun.management.jmxremote.authenticate=false", "-Dcom.sun.management.jmxremote.ssl=false" ]) return default_jvm_opts
def check_list(self): """ Checks list representation of JVM settings. """ jvm_settings = create_jvm_settings() assert "-Xms" + DEFAULT_HEAP in jvm_settings assert "-Xmx" + DEFAULT_HEAP in jvm_settings jvm_settings = merge_jvm_settings(jvm_settings, additionals="-Xms981M -Xmx981M") assert "-Xms981M" in jvm_settings assert "-Xmx981M" in jvm_settings assert "-Xms" + DEFAULT_HEAP not in jvm_settings assert "-Xmx" + DEFAULT_HEAP not in jvm_settings jvm_settings = merge_jvm_settings( jvm_settings, additionals="-XX:ParallelGCThreads=1024") jvm_settings = merge_jvm_settings( jvm_settings, additionals="-xx:ParallelGCThreads=512") assert "-XX:ParallelGCThreads=1024" in jvm_settings assert "-XX:ParallelGCThreads=512" not in jvm_settings