diff -r c8b2a408628b -r 339d2fbe8675 src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java --- a/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java Thu Dec 13 14:21:04 2018 +0100 +++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java Thu Dec 13 14:36:54 2018 +0100 @@ -427,19 +427,13 @@ } private void periodicTask() { + if (!jvm.hasNativeJFR()) { + return; + } while (true) { synchronized (this) { - if (!jvm.hasNativeJFR()) { - return; - } - if (currentChunk != null) { - try { - if (SecuritySupport.getFileSize(currentChunk.getUnfishedFile()) > Options.getMaxChunkSize()) { - rotateDisk(); - } - } catch (IOException e) { - Logger.log(JFR_SYSTEM, WARN, "Could not check file size to determine chunk rotation"); - } + if (jvm.shouldRotateDisk()) { + rotateDisk(); } } long minDelta = RequestEngine.doPeriodic();