首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查哪些文件是由应用程序编写的?

如何检查哪些文件是由应用程序编写的?
EN

Unix & Linux用户
提问于 2015-05-22 22:46:41
回答 1查看 660关注 0票数 3

在我的系统中,sar向磁盘的平均写入量约为5MB/s,使用dstat我发现它并不是永久的,但是有30到50 5MB/S的峰值,然后就睡着了。

使用iotop,我发现大多数写作都是由一个应用程序完成的(但我不知道它有多确定)。

使用stracefatrace,我看到应用程序打开,在不同的目录中创建文件,然后关闭/删除它们。有很多文件,但我在strace中没有看到太多的写作。我尝试使用/proc/pid/fd查找更多的文件,看看是否有任何文件不断递增(日志等),但找不到任何文件。所以我的结论是,所有的写作都是用应用程序创建的小临时文件来完成的。

如何检查写入每个文件的数量?我想要一个包含写入每个文件的字节数的报告。

有什么办法吗?我考虑过重写像openwrite这样的系统来监视每个文件的更改,或者使用systemtap,但我希望有更简单的方法。

EN

回答 1

Unix & Linux用户

发布于 2015-05-23 13:40:14

Brendan的iosnoop (他的perf-tools的一部分)将向您提供有关应用程序I/O的详细信息;例如:

代码语言:javascript
复制
# ./iosnoop
Tracing block I/O... Ctrl-C to end.
COMM             PID    TYPE DEV      BLOCK        BYTES     LATms
supervise        1809   W    202,1    17039968     4096       1.32
supervise        1809   W    202,1    17039976     4096       1.30
tar              14794  RM   202,1    8457608      4096       7.53
tar              14794  RM   202,1    8470336      4096      14.90
tar              14794  RM   202,1    8470368      4096       0.27
tar              14794  RM   202,1    8470784      4096       7.74
tar              14794  RM   202,1    8470360      4096       0.25
tar              14794  RM   202,1    8469968      4096       0.24
tar              14794  RM   202,1    8470240      4096       0.24
[...]

(例如取自他的博客文章)。

您可以使用它来跟踪系统的所有I/O,或者将其限制在单个进程、设备.

票数 6
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/205147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档