2

With your help I was able to increase the Java Heap Space of our .NET DD4T webapplication (Tridion 2013 SP1).

Now we want to monitor it because the Java Heap Space is a black box for us. Now we know that tools like LogicMonitor can monitor the heap space, but JMX needs to be enabled.

I added the argument 'com.sun.management.jmxremote.port' to the JVM.xml, but when I do that, the application pool throws and error and stops.

<!--
This file can be used to send application specific JVM arguments.
-->
   <VirtualMachine>
    <Options>
        <!--
        Add the Option tag to define specific JVM options.
        The Option tag can define the MaximumHeapSizeInMB (-Xmx), the InitialHeapSizeInMB (-Xms) and other JVM properties(-D).
        -->
        <Option Name="-Xmx" Value="1280m" />
        <Option Name="-Xms" Value="512m" />
        <Option Name="-Dcom.sun.management.jmxremote.port" Value="9990" />
        <!--
        <Option Name="-Dfile.encoding" Value="UTF-8"/>
        -->
    </Options>
</VirtualMachine>

Event Viewer shows the following error:

A process serving application pool 'appPoolName' suffered a fatal communication error with the Windows Process Activation Service. The process id was '4972'. The data field contains the error number.

Detailed error:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    <System>
        <Provider Name="Microsoft-Windows-WAS" Guid="{524B5D04-133C-4A62-8362-64E8EDB9CE40}" EventSourceName="WAS" /> 
        <EventID Qualifiers="32768">5011</EventID> 
        <Version>0</Version> 
        <Level>3</Level> 
        <Task>0</Task> 
        <Opcode>0</Opcode> 
        <Keywords>0x80000000000000</Keywords> 
        <TimeCreated SystemTime="2019-01-04T08:28:14.000000000Z" /> 
        <EventRecordID>1484965</EventRecordID> 
        <Correlation /> 
        <Execution ProcessID="0" ThreadID="0" /> 
        <Channel>System</Channel> 
        <Computer>servername</Computer> 
        <Security /> 
    </System>
    <EventData>
        <Data Name="AppPoolID">appPoolName</Data> 
        <Data Name="ProcessID">4972</Data> 
        <Binary>6D000780</Binary> 
    </EventData>
</Event>

Now the question is, how can I enable remote JMX monitoring for this webapplication and how to debug this error.

4

By default remote JMX monitoring requires authentication and SSL is also enabled. You can try to add the additional lines to disable authentication and SSL:

<Option Name="-Dcom.sun.management.jmxremote.authenticate" Value="false" />
<Option Name="-Dcom.sun.management.jmxremote.ssl" Value="false" />

Note of course that in production environments you should never keep these settings, but you have to protect it properly with username and SSL certificate (more info on this is on the same page you provided.

  • After disabling 'com.sun.management.jmxremote.authenticate' it did work. Now I now what causes the error I will be able to solve this, thank you so much! I will accept your answer. – Peter van der Lugt Jan 4 at 11:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.