我正在运行一个多线程的java应用程序。该应用程序运行近150个线程。 我想检查这些线程的详细内存使用情况。 当我执行top -H -p时,我只有14个作为计数,因为我在应用程序中运行150线程附近。 这听起来很混乱。那么使用top命令得到的数字是多少?
有人可以帮我理解这种行为吗?
答案 0 :(得分:0)
在linux上,每个jvm线程会有一个本机线程。 JVM线程包括JVM用于GC和其他内务处理的应用程序线程和内部线程。通常有4-10个,但它们因硬件,配置等而异。
top -H将准确反映jvm线程的数量,应用程序线程的数量将是jvm线程 - 内务线程。
150个应用程序线程的规范可能被解释为最大值,而不是固定量。