首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX 提问指南
广告
V2EX
›
问与答
有没有办法知道IO高时哪个文件正在被写?
sdjl
·
2013-06-27 11:40:07 +08:00
· 2748 次点击
这是一个创建于 4118 天前的主题,其中的信息可能已经有所发展或是发生改变。
有时请求较高, io就会跟着高, 用io分析工具能找到是哪个进程在写磁盘
但是, 有没有办法直接查看是哪个文件或文件夹正在被写?
另外, 为什么nginx静态文件请求较高时, 磁盘read和write都会跟着高呢? read能理解, 倒是为什么write也高? (没有开启日志功能)
nginx是否可以配置更多的内存用于静态文件访问? 如何配置?
文件
高时
write
8 条回复
•
1970-01-01 08:00:00 +08:00
1
qsun
2013-06-27 11:52:31 +08:00
iotop
http://d.pr/i/uxUN
2
dndx
2013-06-27 11:53:58 +08:00
1
就 nginx是否可以配置更多的内存用于静态文件访问 而言
是没有必要的,在内存足够的情况下,Linux 会自动使用内存来 cache 文件。
3
denger
2013-06-27 12:48:56 +08:00
@
qsun
iotop 不能看到在写哪个目录吧? 只能看 PID.
swap 有没有在写?
4
qsun
2013-06-27 13:16:58 +08:00
@
denger
可以strace -p 加上PID,这样可以看见系统调用情况,就知道具体情况了。拿到fd去/proc一看就知道
5
sdjl
OP
2013-06-27 14:45:54 +08:00
@
qsun
能具体一点么? 目的是查到哪个文件正在被写, 不是查到哪个进程在写文件
@
dndx
谢谢
6
swulling
2013-06-27 14:57:42 +08:00
@
sdjl
可以找到某个进程打开的文件,这个很容易
7
wwwjfy
2013-06-27 15:07:16 +08:00
lsof -p PID
8
sdjl
OP
2013-06-27 15:09:30 +08:00
@
swulling
一个pid打开的文件非常多呢, 可能有几百个....
@
wwwjfy
谢谢
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
2161 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms ·
UTC 14:31
·
PVG 22:31
·
LAX 07:31
·
JFK 10:31
Developed with
CodeLauncher
♥ Do have faith in what you're doing.