国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

            手機站
            千鋒教育

            千鋒學習站 | 隨時隨地免費學

            千鋒教育

            掃一掃進入千鋒手機站

            領取全套視頻
            千鋒教育

            關注千鋒學習站小程序
            隨時隨地免費學習課程

            當前位置:首頁  >  技術干貨  > 小干貨:Linux如何查看文件是被那個進程占用寫數據?

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

            來源:千鋒教育
            發(fā)布人:syq
            時間: 2022-10-27 10:46:02 1666838762

              文件被那個進程使用,寫數據不是用lsof可以找出來嗎,但現實情況是lsof沒找出來。

              背景

              centos7 在某一段時間監(jiān)控報警磁盤使用率達99%,由于監(jiān)控屬于概要形式信息,沒有快照信息的監(jiān)控(能發(fā)現某進程的I/O,CPU消耗情況),所以需要在服務器上去定時執(zhí)行統(tǒng)計命令獲取快照信息。

            Linux如何查看文件

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

              sar -u查看%iowait、%user;

              pidstat -d 查看進程I/O讀寫的快照信息

              步驟

              生成統(tǒng)計信息文件

            31

              在while循環(huán)中使用iostat的原因是要輸出date +%T時間,不然只有數據,沒有時間信息也沒有什么用

              使用at 命令定時執(zhí)行

              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循環(huán)的pid,不kill掉該while循環(huán),就會一直對/tmp/iostat_2019-03-13寫數據-_-

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

            37

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

            38

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

              獲取寫文件的進程號

              安裝sysemtap

              yum -y install systemtap

              SystemTap 是對 Linux 內核監(jiān)控和跟蹤的工具

              利用systemtap中的inodewatch.stp工具來查找寫文件的進程號

              得到文件的inode

            39

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

            40

              得到寫文件的pid

            41

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

            42

              再次執(zhí)行stap

            43

              安裝debuginfo kernal

            44

              再次執(zhí)行stap

            45

              添加 -v查看詳細報錯

            46

              修改

            47

              再次執(zhí)行

            48

              可見已經得到了寫/tmp/iostat_date +%F 文件的進程號,但進程號一直在打印出來,因為后臺進程iostat -dx -m 的在while循環(huán)中的,每隔sleep 2s 后就會執(zhí)行一次iostat 產生新的pid。

              那要怎樣才能讓iostat -dx -m 停止寫/tmp/iostat_date +%F 文件了?除了重啟大法好 $_$

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

            49

              正確做法

            50

            tags:
            聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
            10年以上業(yè)內強師集結,手把手帶你蛻變精英
            請您保持通訊暢通,專屬學習老師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