diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/fedora-40/man5/proc_pid_io.5 | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/fedora-40/man5/proc_pid_io.5')
-rw-r--r-- | upstream/fedora-40/man5/proc_pid_io.5 | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/upstream/fedora-40/man5/proc_pid_io.5 b/upstream/fedora-40/man5/proc_pid_io.5 new file mode 100644 index 00000000..f989e493 --- /dev/null +++ b/upstream/fedora-40/man5/proc_pid_io.5 @@ -0,0 +1,98 @@ +.\" Copyright (C) 1994, 1995, Daniel Quinlan <quinlan@yggdrasil.com> +.\" Copyright (C) 2002-2008, 2017, Michael Kerrisk <mtk.manpages@gmail.com> +.\" Copyright (C) 2023, Alejandro Colomar <alx@kernel.org> +.\" +.\" SPDX-License-Identifier: GPL-3.0-or-later +.\" +.TH proc_pid_io 5 2023-08-15 "Linux man-pages 6.06" +.SH NAME +/proc/pid/io \- I/O statistics +.SH DESCRIPTION +.TP +.IR /proc/ pid /io " (since Linux 2.6.20)" +.\" commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2 +This file contains I/O statistics for the process, for example: +.IP +.in +4n +.EX +.RB "#" " cat /proc/3828/io" +rchar: 323934931 +wchar: 323929600 +syscr: 632687 +syscw: 632675 +read_bytes: 0 +write_bytes: 323932160 +cancelled_write_bytes: 0 +.EE +.in +.IP +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. +This is simply the sum of bytes which this process passed to +.BR read (2) +and similar system calls. +It includes things such as terminal I/O and +is unaffected by whether or not actual +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. +Similar caveats apply here as with +.IR rchar . +.TP +.IR syscr ": read syscalls" +Attempt to count the number of read I/O operations\[em]that is, +system calls such as +.BR read (2) +and +.BR pread (2). +.TP +.IR syscw ": write syscalls" +Attempt to count the number of write I/O operations\[em]that is, +system calls such as +.BR write (2) +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. +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. +.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 +caused to not happen, by truncating pagecache. +A task can cause "negative" I/O too. +If this task truncates some dirty pagecache, +some I/O which another task has been accounted for +(in its +.IR write_bytes ) +will not be happening. +.RE +.IP +.IR Note : +In the current implementation, things are a bit racy on 32-bit systems: +if process A reads process B's +.IR /proc/ pid /io +while process B is updating one of these 64-bit counters, +process A could see an intermediate result. +.IP +Permission to access this file is governed by a ptrace access mode +.B PTRACE_MODE_READ_FSCREDS +check; see +.BR ptrace (2). +.SH SEE ALSO +.BR proc (5) |