国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Linux 如何查看文件是被那個進程占用寫數據?

系統 Linux
文件被那個進程使用,寫數據不是用lsof可以找出來嗎,但現實情況是lsof沒找出來,什么原因,來看看吧。

背景

centos7 在某一段時間監控報警磁盤使用率達99%,由于監控屬于概要形式信息,沒有快照信息的監控(能發現某進程的I/O,CPU消耗情況),所以需要在服務器上去定時執行統計命令獲取快照信息。
需要通過iostat -dx -k去查看avgqu-sz、await、svctm、%util;
sar -u查看%iowait、%user;
pidstat -d 查看進程I/O讀寫的快照信息

步驟

  • 生成統計信息文件
cat>/tmp/at_task.sh<<EOF
pidstat -d 2 >/tmp/pidstat_\`date +%F_%T\`.log 2>& 1 &
sar -u 2 >/tmp/sar_\`date +%F_%T\`.log 2>& 1 &
while [ 1 ];do echo -n \`date +%T\` >>/tmp/iostat_\`date +%F\` 2>& 1 && iostat -dx -k 1 1 >>/tmp/iostat_\`date +%F\` 2>& 1; sleep 2; done &
EOF

在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定時任務

at 15:14 today -f /tmp/at_task.sh
job 2 at Wed Mar 13 15:14:00 2019

得到如下快照信息
iostat

15:13:35Linux 3.10.0-862.14.4.el7.x86_64 (ip-xxxxx)     03/13/2019      _x86_64_        (4 CPU)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.12 0.07 17.31 19.41 580.79 90.52 36.57 0.09 2.39 4.42 0.57 0.72 2.63
scd0 0.00 0.00 0.00 0.00 0.00 0.00 6.00 0.00 0.28 0.28 0.00 0.25 0.00

sar

03:14:00 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
03:14:02 PM all 0.25 0.00 0.38 0.00 0.00 99.37
03:14:04 PM all 1.25 0.13 0.63 0.00 0.00 97.99
03:14:06 PM all 0.25 0.13 0.50 0.00 0.00 99.12
03:14:08 PM all 0.50 0.00 0.50 0.63 0.00 98.37

pidstat

03:14:00 PM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
03:14:02 PM 5700 9089 0.00 6.00 0.00 uxxx
03:14:02 PM 5700 9140 0.00 6.00 0.00 uxxx
03:14:02 PM 5700 9292 0.00 10.00 0.00 uxxx
03:14:02 PM 0 18084 0.00 2.00 0.00 bash

kill 掉收集信息的命令

ps -ef | egrep 'iostat|sar|pidstat|while' | grep -v grep | awk '{print $2}' | xargs -l kill

但ps -ef | egrep 命令沒有獲取到while循環的pid,不kill掉該while循環,就會一直對/tmp/iostat_2019-03-13寫數據-_-

通過lsof 沒有定位到打開文件的進程

lsof /tmp/iostat_2019-03-13 
[root@ip-10-186-60-117 ~]#
[root@ip-10-186-60-117 ~]#

通過lsof 可以定位到打開mysql-error.log的進程

lsof /opt/mysql/data/5690/mysql-error.log 
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 12858 actiontech-universe 1w REG 253,1 6345 20083533 /opt/mysql/data/5690/mysql-error.log
mysqld 12858 actiontech-universe 2w REG 253,1 6345 20083533 /opt/mysql/data/5690/mysql-error.log

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

獲取寫文件的進程號

安裝sysemtap

yum -y install systemtap

SystemTap 是對 Linux 內核監控和跟蹤的工具
利用systemtap中的inodewatch.stp工具來查找寫文件的進程號

得到文件的inode

stat -c '%i' /tmp/iostat_2019-03-13 
4210339

獲取文件所在設備的major,minor

ls -al /dev/vda1
brw-rw---- 1 root disk 253, 1 Jan 30 13:57 /dev/vda1

得到寫文件的pid

stap /usr/share/systemtap/examples/io/inodewatch.stp 253 1  4210339

Checking "/lib/modules/3.10.0-862.14.4.el7.x86_64/build/.config" failed with error: No such file or directory
Incorrect version or missing kernel-devel package, use: yum install kernel-devel-3.10.0-862.14.4.el7.x86_64

根據系統內核版本在kernel-devel rpm build for : Scientific Linux 7網站上下載相應的kernal-devel包

wget ftp://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/7.2/x86_64/updates/security/kernel-devel-3.10.0-862.14.4.el7.x86_64.rpm

rpm -ivh kernel-devel-3.10.0-862.14.4.el7.x86_64.rpm

再次執行stap

stap /usr/share/systemtap/examples/io/inodewatch.stp 253 1 4210339
......
Missing separate debuginfos, use: debuginfo-install kernel-3.10.0-862.14.4.el7.x86_64
Pass 2: analysis failed. [man error::pass2]
Number of similar error messages suppressed: 2.

安裝debuginfo kernal

debuginfo-install kernel-3.10.0-862.14.4.el7.x86_64
Verifying : kernel-debuginfo-common-x86_64-3.10.0-862.14.4.el7.x86_64 1/3
Verifying : yum-plugin-auto-update-debug-info-1.1.31-50.el7.noarch 2/3
Verifying : kernel-debuginfo-3.10.0-862.14.4.el7.x86_64 3/3

Installed:
kernel-debuginfo.x86_64 0:3.10.0-862.14.4.el7
yum-plugin-auto-update-debug-info.noarch 0:1.1.31-50.el7

Dependency Installed:
kernel-debuginfo-common-x86_64.x86_64 0:3.10.0-862.14.4.el7

再次執行stap

stap /usr/share/systemtap/examples/io/inodewatch.stp 253 1  4210339
ERROR: module version mismatch (#1 SMP Tue Sep 25 14:32:52 CDT 2018 vs #1 SMP Wed Sep 26 15:12:11 UTC 2018), release 3.10.0-862.14.4.el7.x86_64
WARNING: /usr/bin/staprun exited with status: 1
添加 -v查看詳細報錯
stap -v /usr/share/systemtap/examples/io/inodewatch.stp 253 1 4210339
Pass 1: parsed user script and 471 library scripts using 240276virt/41896res/3368shr/38600data kb, in 300usr/20sys/320real ms.
Pass 2: analyzed script: 2 probes, 12 functions, 8 embeds, 0 globals using 399436virt/196284res/4744shr/197760data kb, in 1540usr/560sys/2106real ms.
Pass 3: using cached /root/.systemtap/cache/f5/stap_f5c0cd780e8a2cac973c9e3ee69fba0c_7030.c
Pass 4: using cached /root/.systemtap/cache/f5/stap_f5c0cd780e8a2cac973c9e3ee69fba0c_7030.ko
Pass 5: starting run.
ERROR: module version mismatch (#1 SMP Tue Sep 25 14:32:52 CDT 2018 vs #1 SMP Wed Sep 26 15:12:11 UTC 2018), release 3.10.0-862.14.4.el7.x86_64
WARNING: /usr/bin/staprun exited with status: 1
Pass 5: run completed in 0usr/10sys/38real ms.
Pass 5: run failed. [man error::pass5]

修改

vim /usr/src/kernels/3.10.0-862.14.4.el7.x86_64/include/generated/compile.h

#define UTS_VERSION "#1 SMP Tue Sep 25 14:32:52 CDT 2018"
改為
#define UTS_VERSION "#1 SMP Wed Sep 26 15:12:11 UTC 2018"

rm -rf /root/.systemtap/cache/f5/stap_f5c0cd780e8a2cac973c9e3ee69fba0c_7030*

再次執行

stap /usr/share/systemtap/examples/io/inodewatch.stp 253 1 4210339

iostat(4671) vfs_write 0xfd00001/4210339
iostat(4671) vfs_write 0xfd00001/4210339
iostat(4671) vfs_write 0xfd00001/4210339
iostat(4671) vfs_write 0xfd00001/4210339
iostat(4671) vfs_write 0xfd00001/4210339
iostat(4671) vfs_write 0xfd00001/4210339
iostat(4671) vfs_write 0xfd00001/4210339
iostat(4671) vfs_write 0xfd00001/4210339
iostat(4671) vfs_write 0xfd00001/4210339
iostat(4671) vfs_write 0xfd00001/4210339
iostat(4677) vfs_write 0xfd00001/4210339
iostat(4677) vfs_write 0xfd00001/4210339
iostat(4677) vfs_write 0xfd00001/4210339
iostat(4677) vfs_write 0xfd00001/4210339
iostat(4677) vfs_write 0xfd00001/4210339
iostat(4677) vfs_write 0xfd00001/4210339
iostat(4677) vfs_write 0xfd00001/4210339
iostat(4677) vfs_write 0xfd00001/4210339
iostat(4677) vfs_write 0xfd00001/4210339
iostat(4677) vfs_write 0xfd00001/4210339
iostat(4683) vfs_write 0xfd00001/4210339
............

可見已經得到了寫/tmp/iostat_??date +%F?? 文件的進程號,但進程號一直在打印出來,因為后臺進程iostat -dx -m 的在while循環中的,每隔sleep 2s 后就會執行一次iostat 產生新的pid。
那要怎樣才能讓iostat -dx -m 停止寫/tmp/iostat_??date +%F?? 文件了?除了重啟大法好 $_$

rm -rf 也不能終止后臺的while iostat進程寫文件,刪除了文件后,while循環又會生成新的文件

rm -rf  /tmp/iostat_2019-03-1*

stat /tmp/iostat_2019-03-1*
File: ‘/tmp/iostat_2019-03-13’
Size: 146700 Blocks: 512 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 4210339 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-03-14 16:07:26.211888899 +0800
Modify: 2019-03-14 16:18:17.854019793 +0800
Change: 2019-03-14 16:18:17.854019793 +0800

正確做法

cat>/tmp/iostat.sh<<EOF
while [ 1 ];do echo -n \`date +%T\` >>/tmp/iostat_\`date +%F\` 2>& 1 && iostat -dx -m 1 1 >>/tmp/iostat_\`date +%F\` 2>& 1; sleep 2; done &
EOF

at now + 1 minute today
bash /tmp/iostat.sh

#這樣就能方便的獲取到進程號pid了
ps -ef | grep iostat
root 8593 1 0 16:16 pts/2 00:00:00 bash /tmp/iostat.sh


責任編輯:龐桂玉 來源: Linux學習
相關推薦

2018-10-08 08:20:25

Linux進程端口號

2024-06-12 11:26:04

2020-04-29 15:10:16

Linux命令進程

2025-11-26 01:55:00

2022-04-05 14:13:56

Linux端口系統

2020-08-27 08:54:02

腳本架構師Linux

2019-12-16 09:10:38

Linux中央處理器進程

2019-12-16 11:00:04

LinuxCPU進程

2017-01-12 09:31:07

Windows端口進程

2022-09-29 09:17:47

進程Linux創建

2019-10-15 13:29:24

LinuxLinux命令

2018-07-12 13:15:06

2024-04-01 08:23:20

代碼Javajavascript

2010-06-04 15:16:36

Linux 查看進程

2010-06-13 15:17:16

Linux 查看進程

2010-06-13 15:10:19

Linux 查看進程

2010-06-04 14:49:15

Linux 查看進程

2010-06-04 14:31:59

Linux 查看進程

2024-08-28 10:04:17

2009-10-27 16:34:02

linux top命令
點贊
收藏

51CTO技術棧公眾號

proumb性欧美在线观看| 日韩视频一区| 欧美视频在线观看视频| 午夜精品久久久久| 欧美性片在线观看| 欧美日韩高清免费| 一区二区三区av电影| 伊伊综合在线| 日韩欧美在线观看强乱免费| 青青草原综合久久大伊人精品优势| 国产91久久久久蜜臀青青天草二| 亚洲欧美成人精品| 蜜臀久久久99精品久久久久久| 亚洲人成电影| 欧美精品情趣视频| 成人一级片网址| 午夜激情在线| 国产精品v欧美精品v日韩精品| 国产午夜精品一区二区三区四区| 精品中文字幕一区二区三区| 国产美女作爱全过程免费视频| 色中色一区二区| 亚洲一区二区av| 青青青在线观看视频| 欧美一二三四在线| 亚洲成人最新网站| 成人在线app| 久久国产手机看片| 一本大道久久a久久综合| 国产一区二区三区免费在线| 亚洲精品高清无码视频| 中文字幕精品久久| 久久99精品国产麻豆婷婷| 91福利国产在线观看菠萝蜜| 日韩免费av一区二区三区| 精品久久久国产| 亚洲第一论坛sis| www.男人的天堂.com| 久久高清视频免费| 成人丝袜高跟foot| 国产毛片精品久久| 久久亚洲中文字幕无码| 亚洲欧美一区二区精品久久久| 老司机免费视频久久| 浪潮av一区| 91精品一区二区| 成人免费在线视频观看| 日韩理论电影大全| 国产在线三区| 国产精品传媒毛片三区| 色94色欧美sute亚洲线路一ni| 99久久精品费精品国产风间由美| 在线免费毛片| 97精品一区二区三区| 国产精品精品| 香蕉97视频观看在线观看| 51蜜桃传媒精品一区二区| 欧美在线视频你懂得| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲三级欧美| 日本va中文字幕| 国产精品久久久久久久电影| 色一情一伦一子一伦一区| 99亚洲伊人久久精品影院红桃| 在线视频国产区| 国产女教师bbwbbwbbw| 久久天天躁狠狠躁夜夜av| 国产精品成人一区二区艾草 | 国产精品亲子伦对白| av亚洲一区| 涩涩视频免费网站| 日韩精彩视频| 国产精品成人观看视频国产奇米| 欧美r级在线观看| 成人欧美一区二区三区小说| 麻豆精品网站| 神马香蕉久久| 欧美大胆成人| 国产小视频福利在线| 欧美亚洲日本在线观看| 精品一区二区久久久久久久网站| 97久久精品视频| 亚洲网在线观看| 亚洲18色成人| 日日摸夜夜添夜夜添国产精品 | 久久成人这里只有精品| 欧美国产日韩一二三区| 欧美最新另类人妖| 国内在线免费视频| 日本免费专区| 免费av在线一区二区| 亚洲欧美精品一区二区| 亚洲久草在线视频| 美腿丝袜在线亚洲一区 | 亚洲一区二区动漫| 高清精品久久| 日本中文字幕视频在线| 成人在线看视频| 精品一区二区久久久久久久网站| 国产69精品久久久久99| 亚洲人成在线电影| 一区二区不卡在线播放 | 欧美高清一区二区| 国产精品久久久久久久久久尿| 日韩精品亚洲视频| 欧洲一区在线电影| av在线综合网| 女人香蕉久久**毛片精品| 国产成人久久精品一区二区三区| 日本在线观看视频| 午夜在线观看av| 色呦呦网站入口| 九9re精品视频在线观看re6| 欧美一区二区三区精品电影| 精品视频中文字幕| 一本大道久久a久久综合婷婷| 欧美极品aⅴ影院| 国模一区二区三区白浆| 午夜国产欧美理论在线播放| 欧美日本成人| 亚洲天堂一区二区| 黄色在线免费观看大全| av污在线观看| 成年女人18级毛片毛片免费| 美女三级99| 好吊色欧美一区二区三区视频 | 偷偷要91色婷婷| 99re6这里只有精品视频在线观看| 亚洲免费播放| 欧美超碰在线| 视频二区欧美毛片免费观看| a国产在线视频| a毛片在线看免费观看| 欧美日韩视频在线播放| 午夜国产视频| 欧美一级特黄a| 日本熟妇人妻xxxxx| 中国成人亚色综合网站| 久久久久久九九| 国产精品免费一区二区三区四区| 国产高清自拍一区| 日本久久久久久久久| 一区二区三区日韩在线| 精品国产成人系列| 日韩精品中文字幕久久臀| 欧美成人一区二区三区在线观看| 日韩欧美一级二级三级久久久| 亚洲精品在线免费播放| 欧美日韩国产区一| 一本一道久久a久久精品综合蜜臀| 亚洲v日本v欧美v久久精品| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品情趣视频| 国产精品九色蝌蚪自拍| 亚洲尤物视频在线| 亚洲图片欧美激情| 中文av一区特黄| 亚洲国产精品激情在线观看| 国产亚洲欧美一区在线观看| 最新欧美精品一区二区三区| 成人激情综合网站| 国产一区二区三区四区在线观看| 国产一区二区精品久久| 国产在线精品一区二区| 国产精品综合av一区二区国产馆| 久草精品在线观看| 91丨九色丨国产丨porny| www.日韩大片| 91小视频在线免费看| 久久精品免视看| 亚洲色图视频网| 精品久久久一区二区| 欧美一级久久久久久久大片| 欧美在线不卡一区| 欧美视频精品在线观看| 欧美一级片在线观看| 亚洲精品99999| 亚洲欧洲美洲在线综合| 欧美成人精品在线播放| 亚洲男人的天堂在线播放| 亚洲日本中文字幕| 欧美老少配视频| 国产成人精彩在线视频九色| caoporn国产精品免费公开| 宅男一区二区三区| 国产激情99| 日韩av高清在线| 九色porny丨入口在线| 91tv亚洲精品香蕉国产一区| 亚洲网址在线观看| 黄色欧美成人| 国产一区日韩二区欧美三区| av激情亚洲男人天堂| 亚洲蜜臀av乱码久久精品蜜桃| 欧美色图免费看| 日韩在线观看免费全集电视剧网站| 国产亚洲视频在线| 国产成人久久精品| 国产精品入口免费| 免费看日本黄色|