千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 小干货:Linux如何查看文件是被那个进程占用写数据?

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

来源:千锋教育
发布人:syq
时间: 2022-10-27 10:46:02 1666838762

  文件被那个进程使用,写数据不是用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

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT