相关疑难解决方法(0)

你如何从壳牌强制收集垃圾?

所以我在远程盒子上看着一个带有jmap的堆,我想强制垃圾收集.如果不突然进入jvisualvm或jconsole和朋友,你怎么做?

我知道你不应该在强制垃圾收集的实践中 - 你应该弄清楚为什么堆很大/正在增长.

我也意识到System.GC()实际上并没有强制进行垃圾收集 - 它只是告诉GC你希望它发生.

话虽如此,有办法轻松做到这一点吗?我失踪了一些命令行应用程序?

java garbage-collection jmx jmap

98
推荐指数
6
解决办法
8万
查看次数

Jstack和Jstat停止了升级到JDK6u23的工作

我们最近从JDK6u20(Linux,32位和64位)升级到JDK6u23.从那时起,我们不能再使用jstackjstat工具从运行过程中获取监控信息.如果我们切换回JDK6u20,一切正常.

我们正在运行Tomcat 6.根据此论坛帖子,其他人也有同样的问题:http: //forums.oracle.com/forums/thread.jspa?threadID = 2151967&tstart = 0

运行简单的普通Java进程并使用这些工具.

Jstack说:无法打开套接字文件:目标进程未响应或未加载HotSpot VM当目标进程没有响应时,可以使用-F选项.

Jstat说:找不到19799

使用Jps根本不显示正在运行的进程,所以我猜这个问题更多是JDK6u23和JDK6u24的一般性质.它有一个新的热点引擎.也许某些东西不能与Tomcat和Hotspot v19一起使用.

任何的想法?感谢帮助.

PS当然,我们将它作为同一个用户运行,我们没有更改任何其他内容.只有JDK.

java debugging tomcat jstack jstat

18
推荐指数
1
解决办法
9368
查看次数

无法获得线程转储?我的应用程序阻止的任何想法?

我有一个基本的Java服务器应用程序,它有100个工作线程,可以在URL上执行简单的HEAD请求.我正在使用HttpClient 4.x.

几分钟后,我的程序冻结了几分钟,我无法弄清楚原因.查看可视vm监视器报告的屏幕截图.你可以看到它扁平化.在这段时间里,我无法获得良好的线程转储,视觉vm只是冻结,直到它被解锁.有没有人有任何想法,我可以做什么来尝试开始调试这个人?

Visual VM:http://tinypic.com/view.php?pic = 2i915bs&s = 7

这是我在冻结时尝试获取jstack转储时的输出:

jstack -F 4325 
Attaching to process ID 4325, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 16.3-b01
Deadlock Detection:

No deadlocks found.

Thread 4557: (state = BLOCKED)
Error occurred during stack walking:
sun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.debugger.DebuggerException: get_thread_regs failed for a lwp
    at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$LinuxDebuggerLocalWorkerThread.execute(LinuxDebuggerLocal.java:152)
    at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.getThreadIntegerRegisterSet(LinuxDebuggerLocal.java:466)
    at sun.jvm.hotspot.debugger.linux.LinuxThread.getContext(LinuxThread.java:65)
    at sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.getCurrentFrameGuess(LinuxAMD64JavaThreadPDAccess.java:92)
    at sun.jvm.hotspot.runtime.JavaThread.getCurrentFrameGuess(JavaThread.java:256)
    at sun.jvm.hotspot.runtime.JavaThread.getLastJavaVFrameDbg(JavaThread.java:218)
    at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:76)
    at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:45)
    at sun.jvm.hotspot.tools.JStack.run(JStack.java:60)
    at sun.jvm.hotspot.tools.Tool.start(Tool.java:221)
    at sun.jvm.hotspot.tools.JStack.main(JStack.java:86)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) …
Run Code Online (Sandbox Code Playgroud)

java debugging stack multithreading

8
推荐指数
1
解决办法
9891
查看次数

慢速Jenkins故障排除

查看作业页面时Jenkins 非常慢(超过3分钟,使用冷磁盘缓存).主页显示正常; 问题仅在查看单个作业的页面时.

认为问题始于Jenkins +插件的最新更新,但我该如何解决这样的问题呢?

我该如何解决这样的问题?

jenkins jenkins-plugins

6
推荐指数
1
解决办法
5367
查看次数

如果它在PRODUCTION环境中,那么调试死锁问题的正确行动计划是什么?

注意我不是在问死锁的概念.我感兴趣的是,如果您在生产群集服务器中的Java应用程序中遇到此问题并具有调试技巧,您将采取什么措施.

  • 关于分析步骤的计划的最佳实践.

假设

  • 你已经知道一个服务器遇到了这个问题.
  • 操作系统正在使用Linux.

目标

  • 您想知道根本原因并修复它.

java debugging concurrency

5
推荐指数
1
解决办法
783
查看次数