|
NAME | DESCRIPTION | CAVEATS | SEE ALSO | COLOPHON |
|
|
|
proc_pid_io(5) File Formats Manual proc_pid_io(5)
/proc/pid/io - I/O statistics
/proc/pid/io (since Linux 2.6.20)
This file contains I/O statistics for the process and its
waited-for children, for example:
# cat /proc/3828/io
rchar: 323934931
wchar: 323929600
syscr: 632687
syscw: 632675
read_bytes: 0
write_bytes: 323932160
cancelled_write_bytes: 0
The fields are as follows:
rchar: characters read
The number of bytes returned by successful read(2)
and similar system calls.
wchar: characters written
The number of bytes returned by successful write(2)
and similar system calls.
syscr: read syscalls
The number of "file read" system calls—those from
the read(2) family, sendfile(2), copy_file_range(2),
and ioctl(2) BTRFS_IOC_ENCODED_READ[_32] (including
when invoked by the kernel as part of other
syscalls).
syscw: write syscalls
The number of "file write" system calls—those from
the write(2) family, sendfile(2),
copy_file_range(2), and ioctl(2)
BTRFS_IOC_ENCODED_WRITE[_32] (including when invoked
by the kernel as part of other syscalls).
read_bytes: bytes read
The number of bytes really fetched from the storage
layer. This is accurate for block-backed
filesystems.
write_bytes: bytes written
The number of bytes really sent to the storage
layer.
cancelled_write_bytes:
The above statistics fail to account for truncation:
if a process writes 1 MB to a regular file and then
removes it, said 1 MB will not be written, but will
have nevertheless been accounted as a 1 MB write.
This field represents the number of bytes "saved"
from I/O writeback. This can yield to having done
negative I/O if caches dirtied by another process
are truncated. cancelled_write_bytes applies to I/O
already accounted-for in write_bytes.
Permission to access this file is governed by ptrace(2)
access mode PTRACE_MODE_READ_FSCREDS.
These counters are not atomic: on systems where 64-bit integer
operations may tear, a counter could be updated simultaneously
with a read, yielding an incorrect intermediate value.
getrusage(2), proc(5)
This page is part of the man-pages (Linux kernel and C library
user-space interface documentation) project. Information about
the project can be found at
⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report
for this manual page, see
⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
This page was obtained from the tarball man-pages-6.15.tar.gz
fetched from
⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
2025-08-11. If you discover any rendering problems in this HTML
version of the page, or you believe there is a better or more up-
to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not
part of the original manual page), send a mail to
[email protected]
Linux man-pages 6.15 2025-05-17 proc_pid_io(5)
Pages that refer to this page: getrusage(2)