778 log_info(os, thread)("Thread started (pthread id: " UINTX_FORMAT ", attributes: %s). ", |
778 log_info(os, thread)("Thread started (pthread id: " UINTX_FORMAT ", attributes: %s). ", |
779 (uintx) tid, os::Posix::describe_pthread_attr(buf, sizeof(buf), &attr)); |
779 (uintx) tid, os::Posix::describe_pthread_attr(buf, sizeof(buf), &attr)); |
780 } else { |
780 } else { |
781 log_warning(os, thread)("Failed to start thread - pthread_create failed (%s) for attributes: %s.", |
781 log_warning(os, thread)("Failed to start thread - pthread_create failed (%s) for attributes: %s.", |
782 os::errno_name(ret), os::Posix::describe_pthread_attr(buf, sizeof(buf), &attr)); |
782 os::errno_name(ret), os::Posix::describe_pthread_attr(buf, sizeof(buf), &attr)); |
|
783 // Log some OS information which might explain why creating the thread failed. |
|
784 log_info(os, thread)("Number of threads approx. running in the VM: %d", Threads::number_of_threads()); |
|
785 LogStream st(Log(os, thread)::info()); |
|
786 os::Posix::print_rlimit_info(&st); |
|
787 os::print_memory_info(&st); |
|
788 os::Linux::print_proc_sys_info(&st); |
|
789 os::Linux::print_container_info(&st); |
783 } |
790 } |
784 |
791 |
785 pthread_attr_destroy(&attr); |
792 pthread_attr_destroy(&attr); |
786 |
793 |
787 if (ret != 0) { |
794 if (ret != 0) { |