0

我是 Java 新手,有一个任务要找出,为什么运行一段时间后服务器会占用 100% 的 CPU。我想我应该看看,线程在这个应用程序中做了什么。由于我想停止服务,第 5605 个线程已经启动。如何控制哪些线程停止或不停止,或运行时间过长?

谢谢。

4

2 回答 2

0

服务器和客户端 jvm(Java 虚拟机)是不同的。客户的想法基本上是“您将成为尝试使用相同资源的其他人中的一员”。服务器的想法是“去吧,你有自己的游乐场”。

于 2012-04-04T12:26:08.967 回答
0

如果您在 *nix 环境中,请先尝试查找进程 ID

  1. 获取进程 ID。ps -ef | grep “java”
  2. 获取线程转储。杀死 -3 进程ID
  3. 查看服务器日志那里有哪些线程,如果有任何“阻塞”线程,那么它们就是罪魁祸首。查看堆栈跟踪,它可能会提供一些线索。
于 2012-04-04T12:40:16.297 回答