JBoss的内存使用情况?

时间:2009-10-21 10:56:23

标签: jboss

当我启动一个空的JBoss 5.1时,它使用了这么多的内存:

    默认配置中的

  1. 在Windows~530Mb上 在AIX~220Mb

  2. 网络配置中的

  3. 在Windows~320Mb上 在AIX~100-130Mb

  4. 为什么AIX和Windows上的内存使用有如此大的差异? JBoss的版本是一样的。
    Java 1.5。

2 个答案:

答案 0 :(得分:3)

也许只是因为run.batrun.sh是由不同的人写的。无论如何,这些设置只是初始设置,没有人可以预测用户将要做什么以及他们需要什么设置。只要忘记差异,根据您的需要进行调整。

编辑:根据评论,JVM设置在Windows和AIX下是相同的。但是msmx参数不具有相同的值,因此如果需要,堆大小将随时间增长,并且很难预测如何以及何时(这取决于使用情况)。我会为msmx使用相同的值来避免这种情况。

也就是说,操作系统监控工具(Windows perfmon或任务管理器或Unix上的ps / top)报告JVM进程的内存大小(即Windows上的java.exe和Unix上的java) 。

  

进程内存[...]包括对象堆加上额外的内存空间,因为进程可执行文件,线程运行时堆栈空间,线程对象堆空间,JNI占用的任何空间以及从中创建的对象JNI,以及任何其他JVM空间,如PERM空间,这是大多数JVM中加载类的地方。 [...]使用操作系统监视器观察进程大小,并确保它适合RAM。

但实际上,由于每个操作系统管理内存的方式,我不确定ps并且任务管理器会报告相同的事情。

一些参考文献:

EDIT2:检查您的JVM进程是否适合RAM,这是一回事。但是检查你的JVM是否经过良好调整(例如,非常长的主要GC)确实是另一回事。您不会使用ps或任务管理器测量第二件事,您需要为此配置您的堆。

答案 1 :(得分:2)

最明显的可能性是不同的启动脚本分配不同的内存量。检查脚本中的-Xms选项。

此外,不同的JVM具有不同的默认内存配置,AIX的默认值可能比Windows窗口的默认值低得多。