8180184: Add DATA and FSIZE to os::Posix::print_rlimit_info
authormikael
Tue, 30 May 2017 15:41:23 -0700
changeset 46508 278005442848
parent 46507 7db40fa6eff7
child 46509 b32d3928ad6a
child 46510 8cc204b35e39
8180184: Add DATA and FSIZE to os::Posix::print_rlimit_info Reviewed-by: dholmes, stuefe
hotspot/src/os/aix/vm/os_aix.cpp
hotspot/src/os/posix/vm/os_posix.cpp
--- a/hotspot/src/os/aix/vm/os_aix.cpp	Tue May 30 17:14:52 2017 -0400
+++ b/hotspot/src/os/aix/vm/os_aix.cpp	Tue May 30 15:41:23 2017 -0700
@@ -1380,39 +1380,7 @@
   st->print_cr("AIX kernel version %u.%u.%u.%u",
                (ver >> 24) & 0xFF, (ver >> 16) & 0xFF, (ver >> 8) & 0xFF, ver & 0xFF);
 
-  // rlimit
-  st->print("rlimit:");
-  struct rlimit rlim;
-
-  st->print(" STACK ");
-  getrlimit(RLIMIT_STACK, &rlim);
-  if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
-  else st->print("%uk", rlim.rlim_cur >> 10);
-
-  st->print(", CORE ");
-  getrlimit(RLIMIT_CORE, &rlim);
-  if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
-  else st->print("%uk", rlim.rlim_cur >> 10);
-
-  st->print(", NPROC ");
-  st->print("%d", sysconf(_SC_CHILD_MAX));
-
-  st->print(", NOFILE ");
-  getrlimit(RLIMIT_NOFILE, &rlim);
-  if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
-  else st->print("%d", rlim.rlim_cur);
-
-  st->print(", AS ");
-  getrlimit(RLIMIT_AS, &rlim);
-  if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
-  else st->print("%uk", rlim.rlim_cur >> 10);
-
-  // Print limits on DATA, because it limits the C-heap.
-  st->print(", DATA ");
-  getrlimit(RLIMIT_DATA, &rlim);
-  if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
-  else st->print("%uk", rlim.rlim_cur >> 10);
-  st->cr();
+  os::Posix::print_rlimit_info(st);
 
   // load average
   st->print("load average:");
--- 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();
 }