|
|
a51974 |
diff -up man-pages-3.53/man5/proc.5.orig man-pages-3.53/man5/proc.5
|
|
|
a51974 |
--- man-pages-3.53/man5/proc.5.orig 2013-07-31 08:45:56.000000000 +0200
|
|
|
a51974 |
+++ man-pages-3.53/man5/proc.5 2013-08-02 13:00:55.062278000 +0200
|
|
|
a51974 |
@@ -59,7 +59,7 @@
|
|
|
a51974 |
.\" to see what information could be imported from that file
|
|
|
a51974 |
.\" into this file.
|
|
|
a51974 |
.\"
|
|
|
a51974 |
-.TH PROC 5 2013-06-27 "Linux" "Linux Programmer's Manual"
|
|
|
a51974 |
+.TH PROC 5 2013-08-01 "Linux" "Linux Programmer's Manual"
|
|
|
a51974 |
.SH NAME
|
|
|
a51974 |
proc \- process information pseudo-file system
|
|
|
a51974 |
.SH DESCRIPTION
|
|
|
a51974 |
@@ -350,9 +350,88 @@ file access mode and file status flags (
|
|
|
a51974 |
.BR open (2)).
|
|
|
a51974 |
|
|
|
a51974 |
The files in this directory are readable only by the owner of the process.
|
|
|
a51974 |
-.\" FIXME document /proc/[pid]/io
|
|
|
a51974 |
-.\" .TP
|
|
|
a51974 |
-.\" .IR /proc/[pid]/io " (since kernel 2.6.20)"
|
|
|
a51974 |
+.TP
|
|
|
a51974 |
+.IR /proc/[pid]/io " (since kernel 2.6.20)"
|
|
|
a51974 |
+.\" commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2
|
|
|
a51974 |
+This file contains I/O statistics for the process, for example:
|
|
|
a51974 |
+.in +4n
|
|
|
a51974 |
+.nf
|
|
|
a51974 |
+
|
|
|
a51974 |
+.RB "#" " cat /proc/3828/io"
|
|
|
a51974 |
+rchar: 323934931
|
|
|
a51974 |
+wchar: 323929600
|
|
|
a51974 |
+syscr: 632687
|
|
|
a51974 |
+syscw: 632675
|
|
|
a51974 |
+read_bytes: 0
|
|
|
a51974 |
+write_bytes: 323932160
|
|
|
a51974 |
+cancelled_write_bytes: 0
|
|
|
a51974 |
+.fi
|
|
|
a51974 |
+.in
|
|
|
a51974 |
+
|
|
|
a51974 |
+The fields are as follows:
|
|
|
a51974 |
+.RS
|
|
|
a51974 |
+.TP
|
|
|
a51974 |
+.IR rchar ": characters read"
|
|
|
a51974 |
+The number of bytes which this task has caused to be read from storage.
|
|
|
a51974 |
+This is simply the sum of bytes which this process passed to
|
|
|
a51974 |
+.BR read (2)
|
|
|
a51974 |
+and similar system calls.
|
|
|
a51974 |
+It includes things such as terminal I/O and
|
|
|
a51974 |
+is unaffected by whether or not actual
|
|
|
a51974 |
+physical disk I/O was required (the read might have been satisfied from
|
|
|
a51974 |
+pagecache).
|
|
|
a51974 |
+.TP
|
|
|
a51974 |
+.IR wchar ": characters written"
|
|
|
a51974 |
+The number of bytes which this task has caused, or shall cause to be written
|
|
|
a51974 |
+to disk.
|
|
|
a51974 |
+Similar caveats apply here as with
|
|
|
a51974 |
+.IR rchar .
|
|
|
a51974 |
+.TP
|
|
|
a51974 |
+.IR syscr ": read syscalls"
|
|
|
a51974 |
+Attempt to count the number of read I/O operations\(emthat is,
|
|
|
a51974 |
+system calls such as
|
|
|
a51974 |
+.BR read (2)
|
|
|
a51974 |
+and
|
|
|
a51974 |
+.BR pread (2).
|
|
|
a51974 |
+.TP
|
|
|
a51974 |
+.IR syscw ": write syscalls"
|
|
|
a51974 |
+Attempt to count the number of write I/O operations\(emthat is,
|
|
|
a51974 |
+system calls such as
|
|
|
a51974 |
+.BR write (2)
|
|
|
a51974 |
+and
|
|
|
a51974 |
+.BR pwrite (2).
|
|
|
a51974 |
+.TP
|
|
|
a51974 |
+.IR read_bytes ": bytes read"
|
|
|
a51974 |
+Attempt to count the number of bytes which this process really did cause to
|
|
|
a51974 |
+be fetched from the storage layer.
|
|
|
a51974 |
+This is accurate for block-backed filesystems.
|
|
|
a51974 |
+.TP
|
|
|
a51974 |
+.IR write_bytes ": bytes written"
|
|
|
a51974 |
+Attempt to count the number of bytes which this process caused to be sent to
|
|
|
a51974 |
+the storage layer.
|
|
|
a51974 |
+.TP
|
|
|
a51974 |
+.IR cancelled_write_bytes :
|
|
|
a51974 |
+The big inaccuracy here is truncate.
|
|
|
a51974 |
+If a process writes 1MB to a file and then deletes the file,
|
|
|
a51974 |
+it will in fact perform no writeout.
|
|
|
a51974 |
+But it will have been accounted as having caused 1MB of write.
|
|
|
a51974 |
+In other words: this field represents the number of bytes which this process
|
|
|
a51974 |
+caused to not happen, by truncating pagecache.
|
|
|
a51974 |
+A task can cause "negative" I/O too.
|
|
|
a51974 |
+If this task truncates some dirty pagecache,
|
|
|
a51974 |
+some I/O which another task has been accounted for
|
|
|
a51974 |
+(in its
|
|
|
a51974 |
+.IR write_bytes )
|
|
|
a51974 |
+will not be happening.
|
|
|
a51974 |
+.RE
|
|
|
a51974 |
+.IP
|
|
|
a51974 |
+.IR Note :
|
|
|
a51974 |
+In the current implementation, things are a bit racy on 32-bit systems:
|
|
|
a51974 |
+if process A reads process B's
|
|
|
a51974 |
+.I /proc/[pid]/io
|
|
|
a51974 |
+while process B is updating one of these 64-bit counters,
|
|
|
a51974 |
+process A could see an intermediate result.
|
|
|
a51974 |
+.RE
|
|
|
a51974 |
.TP
|
|
|
a51974 |
.IR /proc/[pid]/limits " (since kernel 2.6.24)"
|
|
|
a51974 |
This file displays the soft limit, hard limit, and units of measurement
|