hotspot/src/os/posix/vm/os_posix.cpp
changeset 46508 278005442848
parent 46507 7db40fa6eff7
child 46558 13de3946d61e
--- a/hotspot/src/os/posix/vm/os_posix.cpp	Tue May 30 17:14:52 2017 -0400
+++ b/hotspot/src/os/posix/vm/os_posix.cpp	Tue May 30 15:41:23 2017 -0700
@@ -84,7 +84,7 @@
         success = false;
         break;
       default:
-        jio_snprintf(buffer, bufferSize, "%s (max size %lu kB). To ensure a full core dump, try \"ulimit -c unlimited\" before starting Java again", core_path, (unsigned long)(rlim.rlim_cur >> 10));
+        jio_snprintf(buffer, bufferSize, "%s (max size " UINT64_FORMAT " kB). To ensure a full core dump, try \"ulimit -c unlimited\" before starting Java again", core_path, uint64_t(rlim.rlim_cur) / 1024);
         success = true;
         break;
     }
@@ -208,15 +208,18 @@
   st->print(" STACK ");
   getrlimit(RLIMIT_STACK, &rlim);
   if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
-  else st->print(UINT64_FORMAT "k", uint64_t(rlim.rlim_cur) >> 10);
+  else st->print(UINT64_FORMAT "k", uint64_t(rlim.rlim_cur) / 1024);
 
   st->print(", CORE ");
   getrlimit(RLIMIT_CORE, &rlim);
   if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
-  else st->print(UINT64_FORMAT "k", uint64_t(rlim.rlim_cur) >> 10);
+  else st->print(UINT64_FORMAT "k", uint64_t(rlim.rlim_cur) / 1024);
 
   // Isn't there on solaris
-#if !defined(SOLARIS) && !defined(AIX)
+#if defined(AIX)
+  st->print(", NPROC ");
+  st->print("%d", sysconf(_SC_CHILD_MAX));
+#elif !defined(SOLARIS)
   st->print(", NPROC ");
   getrlimit(RLIMIT_NPROC, &rlim);
   if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
@@ -231,7 +234,18 @@
   st->print(", AS ");
   getrlimit(RLIMIT_AS, &rlim);
   if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
-  else st->print(UINT64_FORMAT "k", uint64_t(rlim.rlim_cur) >> 10);
+  else st->print(UINT64_FORMAT "k", uint64_t(rlim.rlim_cur) / 1024);
+
+  st->print(", DATA ");
+  getrlimit(RLIMIT_DATA, &rlim);
+  if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
+  else st->print(UINT64_FORMAT "k", uint64_t(rlim.rlim_cur) / 1024);
+
+  st->print(", FSIZE ");
+  getrlimit(RLIMIT_FSIZE, &rlim);
+  if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
+  else st->print(UINT64_FORMAT "k", uint64_t(rlim.rlim_cur) / 1024);
+
   st->cr();
 }