如何加快由valgrind启动的Java应用程序的执行?

问题描述

我正在使用jna调试具有某些本机代码的Java应用程序中的内存泄漏问题,我正在使用Valgrind,我发现由valgrind启动的Java应用程序运行非常缓慢,我知道由valgrind启动的应用程序可能会变慢比官方文档中的本机代码要耗费10-50倍的时间,但调试起来确实很耗时,在我的情况下,我只需要调试jna本机代码,就可以让valgrind忽略jvm代码(libjvm.so)并专注于我的本机图书馆?

我有以下配置。

  1. 我的jna本机代码是使用gcc选项-g and -O0
  2. 编译的 使用参数调用
  3. valgrind valgrind --leak-check=yes --error-limit=no --suppressions=/root/valgrind_errors.txt java -jar xxx.jar
  4. 我还尝试使用gcc选项-g and -O0重新编译JRE,但这没有加快执行速度。

您有一些建议来加快执行速度吗?

谢谢。

解决方法

您可以找到一些有关如何调整valgrind的指示 https://archive.fosdem.org/2015/schedule/event/valgrind_tuning/

A.o。,您可以使用--undef-value-errors = no

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...