8180184: Add DATA and FSIZE to os::Posix::print_rlimit_info

Reviewed-by: dholmes, stuefe
This commit is contained in:
Mikael Vidstedt 2017-05-30 15:41:23 -07:00
parent 3a8c8edb86
commit 292ac89940
2 changed files with 20 additions and 38 deletions

View file

@ -84,7 +84,7 @@ void os::check_dump_limit(char* buffer, size_t bufferSize) {
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 @@ void os::Posix::print_rlimit_info(outputStream* st) {
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 @@ void os::Posix::print_rlimit_info(outputStream* st) {
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();
}