我想打印Linux进程读/写的总字节数.例如,我跑
gcc -c a.c
Run Code Online (Sandbox Code Playgroud)
并且希望看到GCC(包括它的孩子)从Linux内核请求了多少字节以及它们发送到内核的字节数.
这个问题的不完整解决方案是:
字段rchar和wchar中/proc/PID/io显示到目前为止的读/写字节数.它不考虑子进程.一旦进程终止,它就会丢失.
一个工具,例如strace可用于打印进程及其子进程的系统调用(例如:read,writesyscalls),但它无法聚合读/写的字节数.
如何打印Linux进程及其子进程读取/写入的总字节数?
sho*_*nex 10
有点awk,strace就是你想要的.
strace -e trace=read,write -o ls.log ls
Run Code Online (Sandbox Code Playgroud)
为您提供读写系统调用的日志.现在你可以把这个日志和这样的最后一列相加
cat ls.log | grep read | awk 'BEGIN {FS="="}{ sum += $2} END {print sum}'
Run Code Online (Sandbox Code Playgroud)
您可能不想更改grep以仅匹配行开头的读取.
| 归档时间: |
|
| 查看次数: |
9906 次 |
| 最近记录: |