[英]How to reduce the number of threads used by the jvm
我在以下java版本上運行單線程Java應用程序:
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
啟用-XX:+UseSerialGC
選項。 仍然在我啟動應用程序時,我看到在使用htop
監視系統時會啟動多個線程。 我想盡可能減少啟動的進程數,因為我有一個用例,它涉及運行此應用程序的多個實例,這將觸及我正在運行的系統上允許的最大進程數量上。 除了-XX:+UseSerialGC
之外是否還有其他jvm選項-XX:+UseSerialGC
我可以用來減少線程的數量?
除了-XX:+UseSerialGC
禁用並行或並發GC之外,還有以下選項可以減少JVM線程的數量:
-XX:CICompilerCount=1
只留下一個JIT編譯器線程。 -XX:+ReduceSignalUsage
禁用Signal Dispatcher線程。 例如,JVM不會處理SIGQUIT來轉儲線程。 -XX:+DisableAttachMechanism
阻止AttachListener線程啟動。 從理論上講,可以禁用更多線程(例如服務線程和VM周期任務線程),但這需要修補JVM。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.