簡體   English   中英

如何減少jvm使用的線程數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM