Tag: centos7

使用JeMalloc在Java应用程序中查找本机内存泄漏

目前我正在尝试解决Java内存问题:我的Java应用程序不断使用越来越多的内存,最终它被Linux OOM杀手杀死。 可能存在Native Memory泄漏,因为在使用VisualVM检查JVM之后,metaspace和堆看起来都没问题。 使用top命令,我可以看到JVM使用的内存不断增加。 本文中的第一个图形: 示例#1 与我在自己的应用程序中看到的完美匹配。 所以我尝试使用JeMalloc来查找各种文章中描述的泄漏。 在这里我遇到了一个问题:在jeprof本身使用jeprof命令和更高版本的top命令时,它确实显示了使用最多内存的函数,但它们都是hex地址,因此我必须缺少一些符号。 但我不知道我需要哪些包,这是我不知道的。 我已经找到了这个链接: 链接#1 并安装了这个包:debuginfo-install java-1.8.0-openjdk 我试图先完成简单的步骤: 让JeMalloc使用简单的应用程序,例如w。 接下来让它与java -version一起使用。 到目前为止,我还可以从JeMalloc获得完美概述的PDF文件。 接下来让它与java -jar一起工作simpletest.jar <<这里我缺少符号例如,如果我不在这里关闭GZipInputStream,那么它不会出现在JeMalloc结果中。 接下来让它使用java -jar myapplication.jar <<这里我也缺少符号。 所以我的问题基本上是:为了让JeMalloc显示所有符号名称以调试应用程序,我需要哪些软件包,例如: public void test1() { InputStream fileInputStream = null; GZipInputStream gzipInputStream = null; try { fileInputStream = new FileInputStream(“test.zip”); gzipInputStream = new GZIPInputStream(fileInputStream); int data = gzipInputStream.read(); while […]

如何在CentOS中获取java路径?

我需要配置我的Jenkins服务器,我需要添加Jenkins配置的Java路径。 yum install java-1.8.0-openjdk但是我是lunix命令的新手,有什么建议吗? 我不知道yum安装在哪里!