Content-type: text/html; charset=UTF-8
Man page of proc_pid_io
proc_pid_io
Section: File Formats (5)
Updated: 2024-05-02
Index
Return to Main Contents
NAME
/proc/pid/io - I/O statistics
DESCRIPTION
- /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.
CAVEATS
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.
SEE ALSO
getrusage(2),
proc(5)
Index
- NAME
-
- DESCRIPTION
-
- CAVEATS
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 11:48:46 GMT, September 14, 2026