Shell - 監控某個進程的內存占用情況、主機CPU、磁盤空間等信息以及守護進程

      網友投稿 1043 2025-03-31

      文章目錄


      腳本

      啟動的兩種方式

      方式一 注冊到系統Cron

      方式二

      運行結果

      linux內存、cpu、磁盤IO

      腳本

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      36

      37

      38

      39

      40

      41

      42

      43

      44

      45

      46

      Shell - 監控某個進程的內存占用情況、主機CPU、磁盤空間等信息以及守護進程

      47

      48

      49

      50

      51

      52

      53

      54

      55

      56

      57

      58

      59

      60

      61

      62

      63

      64

      65

      66

      67

      68

      69

      70

      71

      72

      73

      74

      75

      76

      77

      78

      79

      80

      81

      82

      83

      84

      85

      86

      87

      88

      89

      90

      91

      92

      93

      啟動的兩種方式

      方式一 注冊到系統Cron

      registMonitor(){ echo "*/5 * * * * sh ${current_path}/MonitorES.sh 95" > /var/spool/cron/root }

      1

      2

      3

      這種方式有個缺點,沒法停止服務,除非把cron也注釋掉。。。

      方式二

      while循環 比如這個守護

      #!/bin/bash logfile=/watch.log touch $logfile while [ 1 -eq 1 ] do AdminProcNum=`ps -ef | grep "org.elasticsearch.bootstrap.Elasticsearch" | grep -v grep | wc -l` echo "--------------------------- $(date "+%Y-%m-%d %H:%M:%S") ElasticsearchProcNum: $AdminProcNum -----------------------------------------" >> ${logfile} 2>&1 if [ $AdminProcNum -lt 1 ] then echo "start" >> /xxx.log su elasticsearch<> ${logfile} 2>&1 fi sleep 60 done

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      運行結果

      一天一個文件 ,注意清理

      ==========================begin 2020-09-28 08:20:01=============================================== total used free shared buff/cache available Mem: 3940 2652 635 6 653 1047 Swap: 2047 829 1218 Memory Usage: 2652/3940MB (67.31%) Disk Usage: 16/18GB (96%) CPU Load: 0.38 CPU Load: 0.10 當前主機內存使用率:67% ES實際使用內存:1302560 主機總內存:4035036 ES內存/總內存:1302560/4035036=32% 當前主機內存使用67 小于閾值 95, Do Nothing ==========================end 2020-09-28 08:20:01================================================= ==========================begin 2020-09-28 08:25:01=============================================== total used free shared buff/cache available Mem: 3940 2651 634 6 653 1047 Swap: 2047 829 1218 Memory Usage: 2651/3940MB (67.28%) Disk Usage: 16/18GB (96%) CPU Load: 0.56 CPU Load: 0.10 當前主機內存使用率:67% ES實際使用內存:1302568 主機總內存:4035036 ES內存/總內存:1302568/4035036=32% 當前主機內存使用67 小于閾值 95, Do Nothing ==========================end 2020-09-28 08:25:01=================================================

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      linux內存、cpu、磁盤IO

      #!/bin/bash # 獲取要監控的本地服務器IP地址 IP=`ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'` echo "IP地址:"$IP # 獲取cpu總核數 cpu_num=`grep -c "model name" /proc/cpuinfo` echo "cpu總核數:"$cpu_num # 1、獲取CPU利用率 # 獲取用戶空間占用CPU百分比 cpu_user=`top -b -n 1 | grep Cpu | awk '{print $2}' | cut -f 1 -d "%"` echo "用戶空間占用CPU百分比:"$cpu_user # 獲取內核空間占用CPU百分比 cpu_system=`top -b -n 1 | grep Cpu | awk '{print $4}' | cut -f 1 -d "%"` echo "內核空間占用CPU百分比:"$cpu_system # 獲取空閑CPU百分比 cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $8}' | cut -f 1 -d "%"` echo "空閑CPU百分比:"$cpu_idle # 獲取等待輸入輸出占CPU百分比 cpu_iowait=`top -b -n 1 | grep Cpu | awk '{print $10}' | cut -f 1 -d "%"` echo "等待輸入輸出占CPU百分比:"$cpu_iowait #2、獲取CPU上下文切換和中斷次數 # 獲取CPU中斷次數 cpu_interrupt=`vmstat -n 1 1 | sed -n 3p | awk '{print $11}'` echo "CPU中斷次數:"$cpu_interrupt # 獲取CPU上下文切換次數 cpu_context_switch=`vmstat -n 1 1 | sed -n 3p | awk '{print $12}'` echo "CPU上下文切換次數:"$cpu_context_switch #3、獲取CPU負載信息 # 獲取CPU15分鐘前到現在的負載平均值 cpu_load_15min=`uptime | awk '{print $11}' | cut -f 1 -d ','` echo "CPU 15分鐘前到現在的負載平均值:"$cpu_load_15min # 獲取CPU5分鐘前到現在的負載平均值 cpu_load_5min=`uptime | awk '{print $10}' | cut -f 1 -d ','` echo "CPU 5分鐘前到現在的負載平均值:"$cpu_load_5min # 獲取CPU1分鐘前到現在的負載平均值 cpu_load_1min=`uptime | awk '{print $9}' | cut -f 1 -d ','` echo "CPU 1分鐘前到現在的負載平均值:"$cpu_load_1min # 獲取任務隊列(就緒狀態等待的進程數) cpu_task_length=`vmstat -n 1 1 | sed -n 3p | awk '{print $1}'` echo "CPU任務隊列長度:"$cpu_task_length #4、獲取內存信息 # 獲取物理內存總量 mem_total=`free | grep Mem | awk '{print $2}'` echo "物理內存總量:"$mem_total # 獲取操作系統已使用內存總量 mem_sys_used=`free | grep Mem | awk '{print $3}'` echo "已使用內存總量(操作系統):"$mem_sys_used # 獲取操作系統未使用內存總量 mem_sys_free=`free | grep Mem | awk '{print $4}'` echo "剩余內存總量(操作系統):"$mem_sys_free # 獲取應用程序已使用的內存總量 mem_user_used=`free | sed -n 3p | awk '{print $3}'` echo "已使用內存總量(應用程序):"$mem_user_used # 獲取應用程序未使用內存總量 mem_user_free=`free | sed -n 3p | awk '{print $4}'` echo "剩余內存總量(應用程序):"$mem_user_free # 獲取交換分區總大小 mem_swap_total=`free | grep Swap | awk '{print $2}'` echo "交換分區總大小:"$mem_swap_total # 獲取已使用交換分區大小 mem_swap_used=`free | grep Swap | awk '{print $3}'` echo "已使用交換分區大小:"$mem_swap_used # 獲取剩余交換分區大小 mem_swap_free=`free | grep Swap | awk '{print $4}'` echo "剩余交換分區大小:"$mem_swap_free #5、獲取磁盤I/O統計信息 echo "指定設備(/dev/sda)的統計信息" # 每秒向設備發起的讀請求次數 disk_sda_rs=`iostat -kx | grep sda| awk '{print $4}'` echo "每秒向設備發起的讀請求次數:"$disk_sda_rs # 每秒向設備發起的寫請求次數 disk_sda_ws=`iostat -kx | grep sda| awk '{print $5}'` echo "每秒向設備發起的寫請求次數:"$disk_sda_ws # 向設備發起的I/O請求隊列長度平均值 disk_sda_avgqu_sz=`iostat -kx | grep sda| awk '{print $9}'` echo "向設備發起的I/O請求隊列長度平均值"$disk_sda_avgqu_sz # 每次向設備發起的I/O請求平均時間 disk_sda_await=`iostat -kx | grep sda| awk '{print $10}'` echo "每次向設備發起的I/O請求平均時間:"$disk_sda_await # 向設備發起的I/O服務時間均值 disk_sda_svctm=`iostat -kx | grep sda| awk '{print $11}'` echo "向設備發起的I/O服務時間均值:"$disk_sda_svctm # 向設備發起I/O請求的CPU時間百分占比 disk_sda_util=`iostat -kx | grep sda| awk '{print $12}'` echo "向設備發起I/O請求的CPU時間百分占比:"$disk_sda_util

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      36

      37

      38

      39

      40

      41

      42

      43

      44

      45

      46

      47

      48

      49

      50

      51

      52

      53

      54

      55

      56

      57

      58

      59

      60

      61

      62

      63

      64

      65

      66

      67

      68

      69

      70

      71

      72

      73

      74

      75

      76

      77

      78

      79

      80

      81

      82

      83

      84

      85

      86

      87

      88

      89

      90

      91

      92

      93

      94

      95

      96

      97

      98

      99

      100

      101

      102

      103

      104

      105

      106

      107

      108

      109

      110

      111

      112

      詳解

      Shell 任務調度

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:如何快速篩選數字(數字怎么篩選出來)
      下一篇:Excel顯示隱私問題警告該怎么辦
      相關文章
      亚洲熟妇av午夜无码不卡| 亚洲色偷拍区另类无码专区| 国产综合亚洲专区在线| 色天使色婷婷在线影院亚洲| 亚洲乱码无人区卡1卡2卡3| 在线观看亚洲AV日韩AV| 亚洲免费福利在线视频| 亚洲国产成人久久| 亚洲国产美女精品久久| 亚洲国产成AV人天堂无码| 亚洲一区二区三区不卡在线播放| 亚洲婷婷在线视频| 亚洲成人动漫在线观看| 亚洲国产精品人久久电影| 亚洲日韩乱码中文无码蜜桃| 亚洲成年人电影在线观看| 亚洲国产模特在线播放| 亚洲乱码在线播放| 国产精品久久亚洲不卡动漫| 亚洲成人激情小说| 亚洲精品日韩一区二区小说| mm1313亚洲国产精品无码试看| 亚洲av永久无码一区二区三区| 精品亚洲国产成人av| 亚洲av无码专区在线观看素人| 亚洲国产精品无码久久九九| 亚洲中文字幕无码爆乳av中文 | 亚洲视频免费播放| 亚洲日本国产乱码va在线观看| 亚洲国产中文在线视频| 亚洲а∨天堂久久精品9966 | 亚洲熟妇丰满xxxxx| 精品无码专区亚洲| 久久亚洲国产精品五月天婷| 亚洲自偷自偷在线制服| 亚洲国产精品国自产拍电影| 亚洲第一成年网站大全亚洲| 国产精品亚洲片在线va| 色婷婷亚洲一区二区三区| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 久久久亚洲精华液精华液精华液 |