相关疑难解决方法(0)

什么是Linux内存管理中的RSS和VSZ

Linux内存管理中的RSS和VSZ是什么?在多线程环境中,如何管理和跟踪这两者?

linux

299
推荐指数
7
解决办法
26万
查看次数

如何在Java中强制进行垃圾收集?

是否有可能在Java中强制进行垃圾收集,即使它很棘手?我知道System.gc();,Runtime.gc();但他们只建议做GC.我怎么强迫GC?

java garbage-collection

208
推荐指数
11
解决办法
31万
查看次数

jstack:目标进程没有响应

我正在运行Ubuntu服务器版,我想采取Tomcat的线程转储.

所以,我首先尝试找出哪个PID tomcat使用:

$ jps -l
5809 sun.tools.jps.Jps
Run Code Online (Sandbox Code Playgroud)

但它不在那里?

所以,我用了之后top发现了PID 5730.

然后我调用jstack来获取线程转储:

$ sudo jstack -l 5730
5730: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?:-(

我已经尝试按照Jstack中的描述导出CATALINA_TMPDIR,并且Jstat停止使用升级到JDK6u23但是没有改变任何东西:

$ export CATALINA_TMPDIR=/tmp
$ sudo /etc/init.d/tomcat6 restart
 * Stopping Tomcat servlet engine tomcat6
   ...done.
 * Starting Tomcat servlet engine tomcat6
   ...done.
$ sudo jstack -l 5934 // …
Run Code Online (Sandbox Code Playgroud)

java jstack thread-dump

46
推荐指数
2
解决办法
8万
查看次数

从Windows命令行运行时如何请求JVM垃圾回收(而不是代码)

如何在外部请求Java垃圾收集,从JAR启动程序(使用Windows BAT)?

  • 从Java代码我可以做到 System.gc()
  • 运行JNLP发行版时,我从控制面板/ Java/...打开了这个"Java控制台",这个Java控制台提供了手动垃圾收集.

但是......当我从命令行/ bat运行jar时,java控制台似乎没有打开.用简短的谷歌搜索找不到帮助,也许有人在这里?

java windows command-line garbage-collection

15
推荐指数
3
解决办法
3万
查看次数

有没有办法在Java中安排完整的垃圾收集?

我有一个24x6计划运行的应用程序.目前,在运行几天后,将自动执行Full GC - 通常在一天的繁忙时段执行,这会对用户响应时间产生负面影响.

我想做的是强制使用全GC - 可能在每晚的午夜,在极低的使用时间内 - 以防止它在白天发生.我已经尝试过System.gc(),但它似乎并不能保证何时会发生Full GC,或者即使它会发生.有没有办法做到这一点?

版本信息:

Java(TM)SE运行时环境(版本1.6.0_11-b03)
Java HotSpot(TM)服务器VM(版本11.0-b16,混合模式)

另外 -

  • 小型GC正在运行,大约每10-15秒运行一次.但这些都没有释放足够的RAM来让应用程序整整一周.当Full GC确实发生时,将释放近50%的堆.
  • 关于上述内容,调用System.gc()似乎并不意味着任何下一个GC都将具有释放那些大量内存所需的Full格式.是的,它已启用(或未启用,具体取决于您阅读-XX选项的方式).
  • 我已经玩了几个CMS GC设置,这有很大帮助,但没有解决问题.最初它每周投掷两次到三次OOM.
  • 我想停止无限循环:
    • 不断增加堆空间 - 这只能持续这么久
    • 不断调整和测试GC设置 - 它已经超过了收益递减点
  • 我不想把它当成NT机器并且每晚都反弹.整个晚上都有活跃的用户会话,弹出应用程序意味着会丢失会话数据.

更具体地说,我正在寻找一种技术来确保Full GC将要发生,而不是一个简单的方法/函数来调用它来运行它.

目前,我正在考虑修改CMS使用的百分比阈值,以确定何时需要完整GC.

谢谢你的帮助.

java garbage-collection

14
推荐指数
2
解决办法
8699
查看次数