在服务器反弹发生之后,在大约40-45天的时间周期之后,我们会收到连续的“Committed Virtual Memory”警报,指出交换空间的使用量大于4GB。这也会导致应用程序执行速度非常慢,停滞交易的数量。 服务器设置: 4个Tomcat服务器(版本7.0.22),由2个Apache服务器负载均衡(非群集)。 Apache服务器本身提供静态内容和路由到这四个tomcat服务器。 Java运行时版本:Java版本“1.6.0_30”Java™SE运行时环境(内部版本1.6.0_30-b12)Java HotSpot™64位服务器虚拟机(版本20.5-b03,混合模式 内存启动参数: MEMORY_OPTIONS="-Xms1024m -Xmx1024m -Xss192k -XX:MaxGCPauseMillis=500 -XX:+HeapDumpOnOutOfMemoryError -XX:MaxPermSize=256m -XX:+CMSClassUnloadingEnabled" 监视 – Wily监视可在所有监视关键服务器参数的生产服务器中使用,并根据预先定义的设置发送可configuration的警报电子邮件。 注意:每个服务器还有两个独立的tomcat域,运行不同的应用程序 调查地区: 没有堆内存泄漏,GC运行正常,没有任何问题 当前繁忙的线程数量直接对应于应用程序的使用情况 – 周末和晚上的数量较less。 的线程相比,营业时间 ThreadLocal在内部使用WeakReference。 如果ThreadLocal没有被强引用,它将被垃圾回收,尽pipe各个线程都通过该ThreadLocal存储了值。 此外,ThreadLocal值实际上存储在线程中; 如果线程死亡,则通过ThreadLocal收集与该线程相关的所有值。 如果你有一个ThreadLocal作为最终的类成员,这是一个强有力的参考,它不能被收集,直到类被卸载。 但是这是任何类成员的工作方式,不被视为内存泄漏。 引用的问题只有在存储在ThreadLocal中的值强烈引用ThreadLocaltypes的循环引用时才会起作用。 在这种情况下,值(SimpleDateFormat)没有向后引用到ThreadLocal。 这段代码没有内存泄漏。 任何人都可以请让我知道这是什么原因,以及要监控什么?
我不是networkingpipe理员,并且对configuration了ssl的Apache 2.2上的Java Web Application部署知之甚less。 所以请忽略问题中的错误解释。 我们正在Apache 2.2上部署我们的Java Web应用程序,并且所有的静态内容(资源)都位于apache 2.2安装目录(如CSS,图像和js)的htdocs文件夹中。 问题是,当用户打开一个新的浏览器会话并访问应用程序(首先请求服务器),我们有我们的login页面显示。 但是,当第一个请求完成加载页面不加载的CSS,图像和JS所需。 但是,如果用户再次刷新页面,那么一切都在那里,然后一切工作非常顺利。 问题只在服务于用户的第一个请求的时候。 我错过了一些重要的configuration? 请帮我一下 提前致谢。
我有一个Solr从属实例的内存问题。 问题在于,每当从设备从主设备复制新的更改时,从设备启动一个新的search器,显然旧设备不会被释放。 最终,年轻的collections品已经满了,并且已经stream入了旧的collections品(或者至less是它的样子),并且开始不断地进行完整的垃圾收集。 现在看起来实际上并没有能够释放任何明显的记忆。 完整的垃圾收集可能会导致通常需要几毫秒才能执行的search,每10秒就会花费大约1/2到4秒的时间。 再说一次,即使是老一代也是饱满的,然后要么停止一切,要么释放一些记忆,要么就是完全locking,显然永远不能回到function。 一些系统信息: 该机器是Amazon AWS m1.medium机器: 3.7GB memory 20GB HDD space 1 CPU core 2 ECU (1 ECU is the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor). 操作系统:Ubuntu 12.10 Java: java version "1.7.0_09" OpenJDK Runtime Environment (IcedTea7 2.3.3) (7u9-2.3.3-0ubuntu1~12.10.1) OpenJDK 64-Bit Server VM (build 23.2-b09, […]
我使用Maven2Eclipse创build了一个默认的JSF项目。 当我尝试启动home.xhtml时,JBoss返回以下错误消息: (DeploymentScanner-threads – 1) JBAS015010: The deployment scanner found a directory named META-INF that was not inside a directory whose name ends with .ear, .jar, .rar, .sar or .war. This is likely the result of unzipping an archive directly inside the C:\Users\Foo\jboss-as-7.1.0.Final\standalone\deployments directory, which is a user error. The META-INF directory will not be […]
我们正在运行一个分布式的java服务器系统(os:linux),通过TCP进行大量的计算。 虽然我们的stream量模式不突然,但在某些机器上,我们看到networking带宽使用情况的波动如下: 02:56:32 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 02:56:33 PM lo 61.00 61.00 8.69 8.69 0.00 0.00 0.00 02:56:33 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:56:33 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 02:56:34 PM lo 107.00 107.00 13.70 13.70 0.00 0.00 0.00 02:56:34 PM eth0 […]
我在OEL5.8上使用java,它在一些应用程序中崩溃,“非法内存访问。[54]错误”。 它发生在3个不同的Java安装。 其中2个是Jrockit版本(R28.2.5-20-152429-1.6.0_37和R28.2.2-7-148152-1.6.0_29),第三个是Sun,所以我猜这不是Java的问题,而是一个Linux的。 一切正常,直到几天前它开始崩溃。 它不会在每个Java应用程序上崩溃,只有几个完全不相关的(两者都有GUI)。 这是转储的相关部分。 如果需要,我可以上传一切。 Error Message: Illegal memory access. [54] Signal info : si_signo=11, si_code=2 si_addr=0x2aaaf618a000 Version : Oracle JRockit(R) R28.2.5-20-152429-1.6.0_37-20120927-1915-linux-x86_64 OS version : Red Hat Enterprise Linux Server release 5.8 (Tikanga) Linux version 2.6.18-308.13.1.0.1.el5xen ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-52)) #1 SMP Wed Aug 22 05:17:58 EDT 2012 (x86_64) […]
尝试从couchdb中使用couchdb river插件将〜400m文档导入到Elasticsearch中。 一切都开始很好,索引时间在5k / s左右,但在几个小时后回来,发现它的速度在20 / s左右。 我们有一个强壮的盒子,一个x1.xlarge的系统,它所做的全是Elasticsearch。 我们有一个没有复制的分片,以帮助索引和禁用索引刷新。 堆被设置为使用65%的内存,我们正在使用oracle的最新Java 7。 我需要调整什么设置来帮助初始数据导入? 我已经玩过了不起眼的超时/大小,但仍然无法find最佳位置。 任何帮助将是伟大的。 Zuhaib
在系统上通过YUM更新以下软件包(CentOS 5 64bit) tzdata-2012j-2.el5 tzdata-java-2012j-2.el5 系统软件包已正确应用,但Java似乎没有工作 – 任何Java应用程序在系统时间提前一小时logging数据,任何date/时间转换/操作产生一个小时的偏移量。 这个抵消是由于过时的DST过期信息(服务器在智利 – 这个国家没有把DST截止到4月27日),这个应该是由tzdata包提供的。 操作系统再好,它没有在3月10日(DSTdate的原始结束)滚动,但即使安装了更新的tzdata-java的Java应用程序。 是否还有其他的东西要套用到系统上?
我们允许客户在我们的SaaS应用程序上创build网站。 我们目前使用Jetty作为应用服务器,但是我们可以使用任何J2EE。 我希望能够在我们的群集中扩展客户的webapps。 这个想法是,如果一个特定的客户有一个困难的web应用程序,.war文件将被复制到整个群集,以便其他机器可以处理负载。 但是,必须在webapp-by-webapp基础上完成,因为如果我们有1,000个客户,我们确实不希望将他们的所有webapps复制到每个节点上。 这与Heroku和Google应用程序引擎有点类似。 如果您的应用需要缩放,则会自动将其复制到其他框中。 有没有足够的智能应用程序服务器? 如果不是,我们将使用什么技术来自行构build?
我已经安装Tomcat7作为服务在Windows服务器64位2008 R2运行Alfresco(4.2.c)。 我有48G的RAM。 我已经阅读了有关内存的JVM设置的Tomcat调优教程。 编辑设置我只是tomcat7w // ES // alfrescoTomcat util,我已经在Java选项卡中将我的初始和最大内存设置设置为32/42,如下所示: -Xms32G -Xmx42G 几个问题: 当我看任务pipe理器时,我只看到了使用8G内存的tomcat。 为什么? 当我阅读Alfresco的Windows调优文件时: http ://wiki.alfresco.com/wiki/Windows_Service_HOW-TO它显示了使用-JvmMs和–JemmMx for tomcat。 有什么不同? 有小费吗? 这是我第一次安装Alfresco的Windows。