相关疑难解决方法(0)

如何找出Linux中使用交换空间的进程?

在Linux下,如何找出更多使用交换空间的进程?

linux memory swap

232
推荐指数
10
解决办法
31万
查看次数

Java非常大的堆大小

有没有人有使用Java中12 GB或更高的大堆的经验?

  • GC是否使程序无法使用?
  • 您使用什么GC参数?
  • 哪个JVM,Sun或BEA更适合这个?
  • 哪种平台,Linux或Windows,在这种情况下表现更好?
  • 在Windows的情况下,在如此高内存负载下64位Vista和XP之间是否存在任何性能差异?

java heap performance garbage-collection

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

通过-Xmx分配更多内存时,Sun JVM是否会变慢?

当更多内存可用并通过-Xmx使用时,Sun JVM是否会变慢?(假设:机器有足够的物理内存,因此虚拟内存交换不是问题.)

我问,因为我的生产服务器将接收内存升级.我想把-Xmx值提升到颓废的东西.我们的想法是防止由于我自己不时发生的编程错误导致的任何堆空间耗尽失败.罕见的事件,但如果我有一个淫秽的-Xmx值,如2048mb或更高,我可以通过快速发展的webapp避免它们.应用程序受到严密监控,因此会注意到JVM内存消耗的异常峰值并修复任何缺陷.

可能的重要细节:

  • Java 6(以64位模式运行)
  • 4核Xeon
  • RHEL4 64位
  • 春天,Hibernate
  • 高磁盘和网络IO

编辑:我试图避免发布我的JVM的配置,但显然这使得这个问题荒谬开放.所以,这里我们使用相关的配置参数:

-Xms256m 
-Xmx1024m 
-XX:+UseConcMarkSweepGC 
-XX:+AlwaysActAsServerClassMachine 
-XX:MaxGCPauseMillis=1000 
-XX:MaxGCMinorPauseMillis=1000 
-XX:+PrintGCTimeStamps 
-XX:+HeapDumpOnOutOfMemoryError 
Run Code Online (Sandbox Code Playgroud)

java performance jvm

9
推荐指数
1
解决办法
4350
查看次数

在什么情况下Java性能会随着内存的增加而降低?

我们正在DEV环境中加载测试Java 1.6应用程序.JVM堆分配为2Gb,-Xms2048m -Xmx2048m.在负载测试下,应用程序运行流畅,从不使用超过1.25Gb的堆,垃圾收集完全正常.

在我们的UAT环境中,我们使用相同的参数运行负载测试,唯一的区别是JVM,它分配了4Gb,-Xms4096m -Xmx4096m,否则,硬件与DEV完全相同.但是在负载测试期间,性能非常糟糕,应用程序几乎吞噬了整个堆,并且垃圾收集运行猖獗.

我们一遍又一遍地进行这些测试,消除了可能影响性能的所有可能症状,但结果是一样的.在什么情况下会是这种情况?

java performance-testing java-ee

4
推荐指数
1
解决办法
1681
查看次数