gpt4 book ai didi

linux - Linux 进程及其子进程读取/写入的总字节数

转载 作者:IT王子 更新时间:2023-10-29 00:52:23 25 4
gpt4 key购买 nike

我想打印 Linux 进程读取/写入的字节总数。比如我跑

gcc -c a.c

并希望了解 GCC(包括其子项)从 Linux 内核请求了总共多少字节,以及它们向内核发送了多少字节。

这个问题的不完整解决方案是:

  • /proc/PID/io 中的字段rcharwchar 显示了到目前为止读取/写入的字节数。它不考虑子进程。一旦进程终止,它就会丢失。

  • strace 等工具可用于打印进程及其子进程的系统调用(例如:readwrite 系统调用),但无法汇总读取/写入的字节数。

如何打印Linux进程及其子进程读/写的总字节数?

最佳答案

有点awk,strace就是你想要的。

strace -e trace=read,write -o ls.log ls

为您提供读写系统调用的日志。现在您可以获取此日志并像这样对最后一列求和

cat ls.log | grep read | awk 'BEGIN {FS="="}{ sum += $2} END {print sum}'

您可能不想更改 grep 以仅匹配行开头的读取。

关于linux - Linux 进程及其子进程读取/写入的总字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8852065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com