java - Java 方法执行时间长

标签 java linux profiling execution-time

我在 CentOS 5.4 VPS 上运行一个 java 服务器。 VPS 统计数据: - 2.5GHz 单核 CPU - 2GB 内存 - OpenJDK 1.6(也尝试过 Sun JDK 1.7)

我一直遇到 java 进程的 CPU 使用率非常高的情况。然后我去尝试分析 java 进程,看看是什么导致了速度下降。我发现简单的方法(如 Random.nextInt(): 787ms)需要 1000 毫秒才能完成一次调用。大多数方法不应花费这么长时间,并且会导致我的服务器上的 CPU 使用率非常高。 CentOS 有什么问题吗?还是 java ?还是我的 VPS 上有什么地方没有正确配置?

最佳答案

不要在源代码中添加计时,而是尝试使用像 BTrace 这样的 java 代理:http://kenai.com/projects/btrace这将使您获得所需的信息,但不会弄乱您的应用程序源代码。

BTrace 可以与可视化工具结合使用,例如 EurekaJ(我创建的一个项目,用于可视化 BTtrace 输出):http://eurekaj.haagen.name

其他商业分析选项也可用,例如 JProfiler 或 YourKit,但它们确实带有价格标签。

关于java - Java 方法执行时间长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7071334/

相关文章:

java - 测试顺序会影响性能结果吗?

java - 无法弄清楚 URIException

linux - QMake : “Extra characters after test expression error” when using the “system()” function

android - Gcc 可以构建可执行程序吗?

linux - 将 Samba 4.0.5 i686 交叉编译为 MIPS

java - 分析 Java EE 应用程序 - 要寻找什么以及要进行哪些更改?

java - 使用java AWT确定标题的大小

java - 这个持久性单元配置有什么问题?

c - 计时器在 C 中的函数调用中查找耗时

c++ - 什么是 RtlPcToFileHeader?