全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

小干货:Linux如何查看文件是被那个进程占用写数据?

发布时间:2022-10-27 10:46:02
发布人:syq

  文件被那个进程使用,写数据不是用lsof可以找出来吗,但现实情况是lsof没找出来。

  背景

  centos7 在某一段时间监控报警磁盘使用率达99%,由于监控属于概要形式信息,没有快照信息的监控(能发现某进程的I/O,CPU消耗情况),所以需要在服务器上去定时执行统计命令获取快照信息。

Linux如何查看文件

  需要通过iostat -dx -k去查看avgqu-sz、await、svctm、%util;

  sar -u查看%iowait、%user;

  pidstat -d 查看进程I/O读写的快照信息

  步骤

  生成统计信息文件

31

  在while循环中使用iostat的原因是要输出date +%T时间,不然只有数据,没有时间信息也没有什么用

  使用at 命令定时执行

  at 15:14 today -f /tmp/at_task.sh

  出现错误

  Can't open /var/run/atd.pid to signal atd. No atd running?

  重启atd服务

  service atd restart

  重新开启at定时任务

32

  得到如下快照信息

  iostat

33

  sar

34

  pidstat

35

  kill 掉收集信息的命令

36

  但ps -ef | egrep 命令没有获取到while循环的pid,不kill掉该while循环,就会一直对/tmp/iostat_2019-03-13写数据-_-

  通过lsof 没有定位到打开文件的进程

37

  通过lsof 可以定位到打开mysql-error.log的进程

38

  可见,某进程只有一只持有某文件的inode,才可以通过lsof查看文件在被那些进程使用

  获取写文件的进程号

  安装sysemtap

  yum -y install systemtap

  SystemTap 是对 Linux 内核监控和跟踪的工具

  利用systemtap中的inodewatch.stp工具来查找写文件的进程号

  得到文件的inode

39

  获取文件所在设备的major,minor

40

  得到写文件的pid

41

  根据系统内核版本在kernel-devel rpm build for : Scientific Linux 7网站上下载相应的kernal-devel包

42

  再次执行stap

43

  安装debuginfo kernal

44

  再次执行stap

45

  添加 -v查看详细报错

46

  修改

47

  再次执行

48

  可见已经得到了写/tmp/iostat_date +%F 文件的进程号,但进程号一直在打印出来,因为后台进程iostat -dx -m 的在while循环中的,每隔sleep 2s 后就会执行一次iostat 产生新的pid。

  那要怎样才能让iostat -dx -m 停止写/tmp/iostat_date +%F 文件了?除了重启大法好 $_$

  rm -rf 也不能终止后台的while iostat进程写文件,删除了文件后,while循环又会生成新的文件

49

  正确做法

50

相关文章

压力测试和性能测试有什么区别?

压力测试和性能测试有什么区别?

2023-10-14
什么是运行时环境?

什么是运行时环境?

2023-10-14
什么是MAC地址?

什么是MAC地址?

2023-10-14
黑石服务器是什么?

黑石服务器是什么?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取