processes: increase reading buffer for /proc/stat #3479
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If machine has high number of CPUs or interrupts or both, the /proc/stat
can easily grow over current buffer size 4kB. On my current machine (64
cores, ~300 interrupts) the /proc/stat has 12kB of data. And since the
procs_running
line is after the interrupts it is never read.Increasing the size to 64KB so it will accommodate even heavier machines.
It would be nice if this would be more dynamic to don't allocate large buffer on smaller machines. I have no idea about the current smallest supported setup by the collectd. Optionally the part could be reprogrammed to read the whole file in 4kB chunks, something similar is already done in
read_fork_rate
.ChangeLog: Process plugin: Increase reading buffer for /proc/stat