diff options
-rw-r--r-- | man5/proc_pid_io.5 | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/man5/proc_pid_io.5 b/man5/proc_pid_io.5 index d6eaebf5d..dc75a91de 100644 --- a/man5/proc_pid_io.5 +++ b/man5/proc_pid_io.5 @@ -11,7 +11,9 @@ .TP .IR /proc/ pid /io " (since Linux 2.6.20)" .\" commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2 -This file contains I/O statistics for the process, for example: +This file contains I/O statistics +for the process and its waited-for children, +for example: .IP .in +4n .EX @@ -30,7 +32,9 @@ The fields are as follows: .RS .TP .IR rchar ": characters read" -The number of bytes which this task has caused to be read from storage. +The number of bytes +which this task and its waited-for children +have caused to be read from storage. This is simply the sum of bytes which this process passed to .BR read (2) and similar system calls. @@ -40,8 +44,9 @@ physical disk I/O was required (the read might have been satisfied from pagecache). .TP .IR wchar ": characters written" -The number of bytes which this task has caused, or shall cause to be written -to disk. +The number of bytes +which this task and its waited-for children +have caused, or shall cause to be written to disk. Similar caveats apply here as with .IR rchar . .TP @@ -60,20 +65,24 @@ and .BR pwrite (2). .TP .IR read_bytes ": bytes read" -Attempt to count the number of bytes which this process really did cause to -be fetched from the storage layer. +Attempt to count the number of bytes +which this process and its waited-for children +really did cause to be fetched from the storage layer. This is accurate for block-backed filesystems. .TP .IR write_bytes ": bytes written" -Attempt to count the number of bytes which this process caused to be sent to -the storage layer. +Attempt to count the number of bytes +which this process and its waited-for children +caused to be sent to the storage layer. .TP .IR cancelled_write_bytes : The big inaccuracy here is truncate. If a process writes 1 MB to a file and then deletes the file, it will in fact perform no writeout. But it will have been accounted as having caused 1 MB of write. -In other words: this field represents the number of bytes which this process +In other words: +this field represents the number of bytes +which this process and its waited-for children caused to not happen, by truncating pagecache. A task can cause "negative" I/O too. If this task truncates some dirty pagecache, |