-
Bug
-
Resolution: Duplicate
-
P1
-
None
-
8
JavaScript engine eval() method causes JVM Young GC to pauses seconds
import javax.script.*;
public class Test {
public static void main(String[] args) throws InterruptedException {
ScriptEngine engine = new
ScriptEngineManager().getEngineByName("nashorn");
String s = "";
while (true) {
try {
Object o = engine.eval(s);
} catch (ScriptException e) {
System.err.println("Error:" + e);
}
}
}
}
run the test case with -XX:+PrintGCDetails -Xms64m -Xmx64m, and it shows
an increasing YG collection time:
0.996: [GC (Allocation Failure) [PSYoungGen: 12288K->3608K(16384K)]
12288K->3616K(61440K)
, 0.0330406 secs] [Times: user=0.64 sys=0.06, real=0.03 secs]
...
71.314: [GC (Allocation Failure) [PSYoungGen: 12288K->0K(16384K)]
14777K->2489K(61440K),
0.0710348 secs] [Times: user=0.10 sys=0.01, real=0.07 secs]
...
164.642: [GC (Allocation Failure) [PSYoungGen: 12288K->0K(16384K)]
14777K->2489K(61440K),
0.1435001 secs] [Times: user=0.18 sys=0.01, real=0.14 secs]
...
553.083: [GC (Allocation Failure) [PSYoungGen: 12288K->0K(16384K)]
14777K->2489K(61440K),
2.3574281 secs] [Times: user=8.13 sys=0.37, real=2.36 secs]
import javax.script.*;
public class Test {
public static void main(String[] args) throws InterruptedException {
ScriptEngine engine = new
ScriptEngineManager().getEngineByName("nashorn");
String s = "";
while (true) {
try {
Object o = engine.eval(s);
} catch (ScriptException e) {
System.err.println("Error:" + e);
}
}
}
}
run the test case with -XX:+PrintGCDetails -Xms64m -Xmx64m, and it shows
an increasing YG collection time:
0.996: [GC (Allocation Failure) [PSYoungGen: 12288K->3608K(16384K)]
12288K->3616K(61440K)
, 0.0330406 secs] [Times: user=0.64 sys=0.06, real=0.03 secs]
...
71.314: [GC (Allocation Failure) [PSYoungGen: 12288K->0K(16384K)]
14777K->2489K(61440K),
0.0710348 secs] [Times: user=0.10 sys=0.01, real=0.07 secs]
...
164.642: [GC (Allocation Failure) [PSYoungGen: 12288K->0K(16384K)]
14777K->2489K(61440K),
0.1435001 secs] [Times: user=0.18 sys=0.01, real=0.14 secs]
...
553.083: [GC (Allocation Failure) [PSYoungGen: 12288K->0K(16384K)]
14777K->2489K(61440K),
2.3574281 secs] [Times: user=8.13 sys=0.37, real=2.36 secs]
- duplicates
-
JDK-8162795 [REDO] MemberNameTable doesn't purge stale entries
- Resolved
- relates to
-
JDK-8162795 [REDO] MemberNameTable doesn't purge stale entries
- Resolved
-
JDK-8013267 move MemberNameTable from native code to Java heap, use to intern MemberNames
- Open
-
JDK-8174749 Use hash table/oops for MemberName table
- Resolved