Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6292967

(spec) Unable to allocate large memory arrays on 64 bit linux

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 5.0
    • specification
    • itanium
    • linux

      A DESCRIPTION OF THE REQUEST :
      Limited api/jvm for utilizing capability of 64 bit machines with large amounts of RAM.( >32Gig of RAM ).
      The below will not work because the arguement for array allocation is limited to a 32 bit integer.

      long size = 10000000000l; // ~10Gig RAM as a long
      byte bigarray [ ] = new byte[size];

      JUSTIFICATION :
      Many fields of computing routinely allocate huge amounts of RAM.
      {weather, seismic, dna, data mining, astronomy, and more }

      Large memory on 64 bit machines is done both for computation and mapped file IO. The memory allocations can be done in C/C++ without any problem.

      We are unable to use Java for a various projects because of this.



      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -

      Ability to allocated RAM using longs and NIO bytebuffer support on 64 bit platforms.

      long size = 10000000000l; // ~10Gig RAM as a long
      byte bigarray [ ] = new byte[size];
      ACTUAL -

      Error trying to use 'long' to allocate memory.
      Eventhough there is plenty of memory available.

      ---------- BEGIN SOURCE ----------


      long size = 10000000000l; // ~10Gig RAM as a long
      byte bigarray [ ] = new byte[size];
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :

      We are using C/C++ instead.
      ###@###.### 2005-06-30 17:35:04 GMT

            Unassigned Unassigned
            gmanwanisunw Girish Manwani (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: