Projects
openEuler:24.03:SP1:Everything
openjdk-1.8.0
_service:tar_scm:Record-the-number-of-processes...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:Record-the-number-of-processes-to-errlog-file.patch.patch of Package openjdk-1.8.0
From 752494be2626cb819c92269e26f53833b2538160 Mon Sep 17 00:00:00 2001 Date: Thu, 21 Sep 2023 14:46:56 +0800 Subject: Record-the-number-of-processes-to-errlog-file.patch --- hotspot/src/os/linux/vm/os_linux.cpp | 24 ++++++++++++++++++++++++ hotspot/src/os/linux/vm/os_linux.hpp | 1 + 2 files changed, 25 insertions(+) diff --git a/hotspot/src/os/linux/vm/os_linux.cpp b/hotspot/src/os/linux/vm/os_linux.cpp index 72839eb5a..a1cc85ca3 100644 --- a/hotspot/src/os/linux/vm/os_linux.cpp +++ b/hotspot/src/os/linux/vm/os_linux.cpp @@ -2256,6 +2256,10 @@ void os::print_os_info(outputStream* st) { os::Posix::print_load_average(st); + if (ExtensiveErrorReports) { + os::Linux::print_system_process_count(st); + } + os::Linux::print_system_memory_info(st); st->cr(); @@ -2323,6 +2327,26 @@ void os::Linux::print_libversion_info(outputStream* st) { st->cr(); } +void os::Linux::print_system_process_count(outputStream* st) { + // system process count + DIR *dir = opendir("/proc"); + if (dir == NULL) { + return; + } + + st->print("system process count:"); + uint count = 0; + struct dirent *ptr; + while ((ptr = readdir(dir)) != NULL) { + if(ptr->d_type == DT_DIR && isdigit((ptr->d_name)[0])) { + count++; + } + } + (void) closedir(dir); + st->print("%u", count); + st->cr(); +} + void os::Linux::print_system_memory_info(outputStream* st) { st->print("\n/proc/meminfo:\n"); _print_ascii_file("/proc/meminfo", st); diff --git a/hotspot/src/os/linux/vm/os_linux.hpp b/hotspot/src/os/linux/vm/os_linux.hpp index a516335d2..19dde2e58 100644 --- a/hotspot/src/os/linux/vm/os_linux.hpp +++ b/hotspot/src/os/linux/vm/os_linux.hpp @@ -124,6 +124,7 @@ class Linux { static void print_container_info(outputStream* st); static void print_distro_info(outputStream* st); static void print_libversion_info(outputStream* st); + static void print_system_process_count(outputStream* st); static void print_proc_sys_info(outputStream* st); public: -- 2.22.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2