inflearn logo
Khóa học

Khóa học

Chia sẻ kiến thức

Bài viết của alstjrdl9511790

alstjrdl9511790 alstjrdl9511790

@alstjrdl9511790

Số lượng đánh giá đã viết
3
Xếp hạng trung bình
5.0

Bài viết 3

Hỏi & Đáp

pinned 확인법

덧붙이자면, -Djdk.tracePinnedThreads와 open jdk 23 이하에서 제공하는 JFR 이벤트는 성격이 다릅니다. -Djdk.tracePinnedThreads는 pinning이 일어나자 마자 stack trace가 찍힙니다. 하지만 jdk 21 이하에서 제공하는 JFR 이벤트는 후행 이벤트[1]입니다. pinning이 일어난 로직이 끝나야 이벤트가 출력됩니다. open jdk 24 이상부터는 -Djdk.tracePinnedThreads를 JFR로 완전히 대체할 수 있다고 해야 더 명확할 것 같습니다[2]. 물론 작성자님이 올리신 것 처럼 -Djdk.tracePinnedThreads를 권장하진 않습니다[3]. 다만 이를 대체할 기능이 크게 없네요 😅 [1] jdk.VirtualThreadPinned indicates that a virtual thread was parked while pinned, i.e., without releasing its platform thread (see above ). This event is enabled by default, with a threshold of 20ms. https://openjdk.org/jeps/444 [2] A jdk.VirtualThreadPinned event is recorded by JDK Flight Recorder (JFR) whenever a virtual thread blocks inside a synchronized method. This event has been useful to identify code that would benefit from being changed to make less use of synchronized methods and statements, to not block while inside such constructs, or to replace such constructs with java.util.concurrent locks. https://openjdk.org/jeps/491 [3] As regards jdk.tracePinnedThreads. We want this system property to go away, it's just unfortunate that it seems to be widely used. https://github.com/openjdk/jdk/pull/17221#issuecomment-1874211812

Lượt thích
0
Số bình luận
3
Lượt xem
413