Skip to content

Commit 63fec39

Browse files
committed
feat: Report open file descriptor count
Read /proc/self/fd to report the actual number of open file descriptors alongside the existing limit. Comparing usage vs limit helps diagnose "too many open files" errors.
1 parent dcfcf51 commit 63fec39

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/system_information/resources.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub struct Resources {
77
pub physical_core_count: Option<usize>,
88

99
pub open_files_limit: Option<usize>,
10+
pub open_files_count: Option<usize>,
1011

1112
pub total_memory: u64,
1213
pub free_memory: u64,
@@ -43,7 +44,14 @@ impl Resources {
4344
);
4445

4546
let open_files_limit = System::open_files_limit();
46-
tracing::info!(open_files.limit = open_files_limit, "open files limit");
47+
let open_files_count = std::fs::read_dir("/proc/self/fd")
48+
.map(|entries| entries.count())
49+
.ok();
50+
tracing::info!(
51+
open_files.limit = open_files_limit,
52+
open_files.count = open_files_count,
53+
"open files"
54+
);
4755

4856
let total_memory = sys.total_memory();
4957
let free_memory = sys.free_memory();
@@ -91,6 +99,7 @@ impl Resources {
9199
physical_core_count,
92100

93101
open_files_limit,
102+
open_files_count,
94103

95104
total_memory,
96105
free_memory,

0 commit comments

Comments
 (0)