我正在运行一个多线程的java应用程序。该应用程序正在运行近150个线程。我想检查这些线程的详细内存使用情况。当我执行top -H -p时,我只得到了14个,因为我在应用程序中运行了将近150个线程。这听起来非常令人困惑。那么我使用top命令得到的数字是多少呢?
有没有人能帮我理解一下这种行为?
发布于 2016-09-08 10:36:22
在linux上,每个JVM线程都有一个本机线程。JVM线程既包括应用程序线程,也包括JVM用于GC和其他内务管理的内部线程。它们通常有4-10个,但根据硬件、配置等的不同而不同。
top -H将准确反映JVM线程数,而应用程序线程数将是JVM线程的内务线程数。
150个应用程序线程的规格很可能被解释为最大值,而不是固定数量。
https://stackoverflow.com/questions/38006949
复制相似问题