JBoss ON CLI requires maximum heap setting many times higher then the size of a file being uploaded using the CLI

Solution Verified - Updated -

Issue

  • Huge amount of memory required for WAR upload using CLI
  • The Command-Line Interface (CLI) ran out of memory during upload operation
  • Deployment of 60 MB WAR file requires JVM memory of 512 MB.
  • Why does the amount of memory seem huge if compared with the deployment file size?
  • Is there any way to reduce the memory consumption when deploying via the CLI?
  • CLI requires many times more JVM heap then the file size being deployed.
  • Deployment of a 40 MB WAR file using the CLI results in:

    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOf(Arrays.java:2798)
        at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:111)
        at sun.net.www.http.PosterOutputStream.write(PosterOutputStream.java:78)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:126)
        ...
        at $Proxy14.createPackageVersionWithDisplayVersion(Unknown Source)
        at org.rhq.bindings.client.ResourceClientProxy$ClientProxyMethodHandler.updateBackingContent(ResourceClientProxy.java:545)
        at org.rhq.bindings.client.ResourceClientProxy$ClientProxyMethodHandler.updateBackingContent(ResourceClientProxy.java:519)
        ...
    

Environment

  • Red Hat JBoss Operations Network (ON) 3.1.2
  • JBoss ON Command-Line Interface (CLI)
    • Uploading a large file (>40MB)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content