134 \
135 experimental(uintx, ShenandoahImmediateThreshold, 90, \
136 "The cycle may shortcut when enough garbage can be reclaimed " \
137 "from the immediate garbage (completely garbage regions). " \
138 "In percents of total garbage found. Setting this threshold " \
139 "to 100 effectively disables the shortcut.") \
140 range(0,100) \
141 \
142 experimental(uintx, ShenandoahGuaranteedGCInterval, 5*60*1000, \
143 "Many heuristics would guarantee a concurrent GC cycle at " \
144 "least with this interval. This is useful when large idle " \
145 "intervals are present, where GC can run without stealing " \
146 "time from active application. Time is in milliseconds. " \
147 "Setting this to 0 disables the feature.") \
148 \
149 experimental(bool, ShenandoahAlwaysClearSoftRefs, false, \
150 "Unconditionally clear soft references, instead of using any " \
151 "other cleanup policy. This minimizes footprint at expense of" \
152 "more soft reference churn in applications.") \
153 \
154 experimental(bool, ShenandoahUncommit, true, \
155 "Allow to uncommit memory under unused regions and metadata. " \
156 "This optimizes footprint at expense of allocation latency in " \
157 "regions that require committing back. Uncommits would be " \
158 "disabled by some heuristics, or with static heap size.") \
159 \
160 experimental(uintx, ShenandoahUncommitDelay, 5*60*1000, \
161 "Uncommit memory for regions that were not used for more than " \
162 "this time. First use after that would incur allocation stalls. " \
163 "Actively used regions would never be uncommitted, because they " \
164 "do not become unused longer than this delay. Time is in " \
165 "milliseconds. Setting this delay to 0 effectively uncommits " \
166 "regions almost immediately after they become unused.") \
167 \
168 experimental(bool, ShenandoahRegionSampling, false, \
169 "Provide heap region sampling data via jvmstat.") \
170 \
171 experimental(int, ShenandoahRegionSamplingRate, 40, \
172 "Sampling rate for heap region sampling. In milliseconds between "\
173 "the samples. Higher values provide more fidelity, at expense " \
|
134 \
135 experimental(uintx, ShenandoahImmediateThreshold, 90, \
136 "The cycle may shortcut when enough garbage can be reclaimed " \
137 "from the immediate garbage (completely garbage regions). " \
138 "In percents of total garbage found. Setting this threshold " \
139 "to 100 effectively disables the shortcut.") \
140 range(0,100) \
141 \
142 experimental(uintx, ShenandoahGuaranteedGCInterval, 5*60*1000, \
143 "Many heuristics would guarantee a concurrent GC cycle at " \
144 "least with this interval. This is useful when large idle " \
145 "intervals are present, where GC can run without stealing " \
146 "time from active application. Time is in milliseconds. " \
147 "Setting this to 0 disables the feature.") \
148 \
149 experimental(bool, ShenandoahAlwaysClearSoftRefs, false, \
150 "Unconditionally clear soft references, instead of using any " \
151 "other cleanup policy. This minimizes footprint at expense of" \
152 "more soft reference churn in applications.") \
153 \
154 diagnostic(bool, ShenandoahAggressiveReferenceDiscovery, true, \
155 "Aggressively avoid keeping alive references upon " \
156 "Reference.get(), at the expense of some extra latency, " \
157 "caused by an extra threads-stacks-scan at final-mark") \
158 \
159 experimental(bool, ShenandoahUncommit, true, \
160 "Allow to uncommit memory under unused regions and metadata. " \
161 "This optimizes footprint at expense of allocation latency in " \
162 "regions that require committing back. Uncommits would be " \
163 "disabled by some heuristics, or with static heap size.") \
164 \
165 experimental(uintx, ShenandoahUncommitDelay, 5*60*1000, \
166 "Uncommit memory for regions that were not used for more than " \
167 "this time. First use after that would incur allocation stalls. " \
168 "Actively used regions would never be uncommitted, because they " \
169 "do not become unused longer than this delay. Time is in " \
170 "milliseconds. Setting this delay to 0 effectively uncommits " \
171 "regions almost immediately after they become unused.") \
172 \
173 experimental(bool, ShenandoahRegionSampling, false, \
174 "Provide heap region sampling data via jvmstat.") \
175 \
176 experimental(int, ShenandoahRegionSamplingRate, 40, \
177 "Sampling rate for heap region sampling. In milliseconds between "\
178 "the samples. Higher values provide more fidelity, at expense " \
|