< prev index next >

src/hotspot/os/bsd/os_bsd.cpp

Print this page




1519   for (uint32_t i = 1; i < _dyld_image_count(); i++) {
1520     // Value for top_address is returned as 0 since we don't have any information about module size
1521     if (callback(_dyld_get_image_name(i), (address)_dyld_get_image_header(i), (address)0, param)) {
1522       return 1;
1523     }
1524   }
1525   return 0;
1526 #else
1527   return 1;
1528 #endif
1529 }
1530 
1531 void os::get_summary_os_info(char* buf, size_t buflen) {
1532   // These buffers are small because we want this to be brief
1533   // and not use a lot of stack while generating the hs_err file.
1534   char os[100];
1535   size_t size = sizeof(os);
1536   int mib_kern[] = { CTL_KERN, KERN_OSTYPE };
1537   if (sysctl(mib_kern, 2, os, &size, NULL, 0) < 0) {
1538 #ifdef __APPLE__
1539       strncpy(os, "Darwin", sizeof(os));
1540 #elif __OpenBSD__
1541       strncpy(os, "OpenBSD", sizeof(os));
1542 #else
1543       strncpy(os, "BSD", sizeof(os));
1544 #endif
1545   }
1546 
1547   char release[100];
1548   size = sizeof(release);
1549   int mib_release[] = { CTL_KERN, KERN_OSRELEASE };
1550   if (sysctl(mib_release, 2, release, &size, NULL, 0) < 0) {
1551       // if error, leave blank
1552       strncpy(release, "", sizeof(release));
1553   }
















1554   snprintf(buf, buflen, "%s %s", os, release);
1555 }
1556 
1557 void os::print_os_info_brief(outputStream* st) {
1558   os::Posix::print_uname_info(st);
1559 }
1560 
1561 void os::print_os_info(outputStream* st) {
1562   st->print("OS:");
1563 
1564   os::Posix::print_uname_info(st);
1565 
1566   os::Bsd::print_uptime_info(st);
1567 
1568   os::Posix::print_rlimit_info(st);
1569 
1570   os::Posix::print_load_average(st);
1571 
1572   VM_Version::print_platform_virtualization_info(st);
1573 }




1519   for (uint32_t i = 1; i < _dyld_image_count(); i++) {
1520     // Value for top_address is returned as 0 since we don't have any information about module size
1521     if (callback(_dyld_get_image_name(i), (address)_dyld_get_image_header(i), (address)0, param)) {
1522       return 1;
1523     }
1524   }
1525   return 0;
1526 #else
1527   return 1;
1528 #endif
1529 }
1530 
1531 void os::get_summary_os_info(char* buf, size_t buflen) {
1532   // These buffers are small because we want this to be brief
1533   // and not use a lot of stack while generating the hs_err file.
1534   char os[100];
1535   size_t size = sizeof(os);
1536   int mib_kern[] = { CTL_KERN, KERN_OSTYPE };
1537   if (sysctl(mib_kern, 2, os, &size, NULL, 0) < 0) {
1538 #ifdef __APPLE__
1539     strncpy(os, "Darwin", sizeof(os));
1540 #elif __OpenBSD__
1541     strncpy(os, "OpenBSD", sizeof(os));
1542 #else
1543     strncpy(os, "BSD", sizeof(os));
1544 #endif
1545   }
1546 
1547   char release[100];
1548   size = sizeof(release);
1549   int mib_release[] = { CTL_KERN, KERN_OSRELEASE };
1550   if (sysctl(mib_release, 2, release, &size, NULL, 0) < 0) {
1551     // if error, leave blank
1552     strncpy(release, "", sizeof(release));
1553   }
1554 
1555 #ifdef __APPLE__
1556   char osproductversion[100];
1557   size_t sz = sizeof(osproductversion);
1558   int ret = sysctlbyname("kern.osproductversion", osproductversion, &sz, NULL, 0);
1559   if (ret == 0) {
1560     char build[100];
1561     size = sizeof(build);
1562     int mib_build[] = { CTL_KERN, KERN_OSVERSION };
1563     if (sysctl(mib_build, 2, build, &size, NULL, 0) < 0) {
1564       snprintf(buf, buflen, "%s %s, macOS %s", os, release, osproductversion);
1565     } else {
1566       snprintf(buf, buflen, "%s %s, macOS %s (%s)", os, release, osproductversion, build);
1567     }
1568   } else
1569 #endif
1570   snprintf(buf, buflen, "%s %s", os, release);
1571 }
1572 
1573 void os::print_os_info_brief(outputStream* st) {
1574   os::Posix::print_uname_info(st);
1575 }
1576 
1577 void os::print_os_info(outputStream* st) {
1578   st->print("OS:");
1579 
1580   os::Posix::print_uname_info(st);
1581 
1582   os::Bsd::print_uptime_info(st);
1583 
1584   os::Posix::print_rlimit_info(st);
1585 
1586   os::Posix::print_load_average(st);
1587 
1588   VM_Version::print_platform_virtualization_info(st);
1589 }


< prev index next >