[collectd] Feature to get io data from process

Andrés J. Díaz ajdiaz at connectical.com
Mon Sep 21 12:31:27 CEST 2009


> Hi Andrés,

Hi Sebastian

> Without having had a look at your patch yet: IIrc, those number are /
> might be rather inaccurate. Do you happen to have any further informa-
> tion about that? Something like that should be mentioned in the manapge
> imho.

In my experience the counters in proc/pid/io works fine, but it's
true, there are some testimonials reporting inaccurate values.

Maybe the names that I use are not exactly, because syscr and syscw
are system calls to IO operations such read or pread, which no always
has a real IO operation, but it's enough good for me... The
cancelled_write_bytes counter might be added to the patch too, as
kernel doc says:

"If a process writes 1MB to a file and
then deletes the file, it will in fact perform no writeout. But it will have
been accounted as having caused 1MB of write.
In other words: The number of bytes which this process caused to not happen,
by truncating pagecache. A task can cause "negative" IO too. If this task
truncates some dirty pagecache, some IO which another task has been accounted
for (in it's write_bytes) will not be happening. We _could_ just subtract that
from the truncating task's write_bytes, but there is information loss in doing
that."

For the moment I will testing the patch for a long time before to
suggest any commit :)

AFAIK the /proc/pid/io data is used for a number of tools to get IOs
by process, but I don't known how exactly are.  I'm looking for other
way to catch this information, without results, :(

Regards,
  Andres



More information about the collectd mailing list