亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

自動收集Linux系統中CPU負載前10的進程腳本

2025-03-13 19:22:26
3
0

腳本功能

  1. 每隔一定時間(例如每分鐘)檢查系統中CPU占用率最高的前10個進程。
  2. 將進程的PID、名稱和CPU占用率記錄到日志文件中。
  3. 可以設置一個閾值,當某個進程的CPU占用率超過該閾值時,發送警告信息(可選)。

腳本代碼

#!/bin/bash

# 配置參數
LOG_FILE="/var/log/top_cpu_usage.log"  # 日志文件路徑
INTERVAL=60                            # 檢查間隔時間(秒)
THRESHOLD=80                           # CPU占用率閾值(百分比)

# 檢查并創建日志文件
if [ ! -f "$LOG_FILE" ]; then
  touch "$LOG_FILE"
fi

# 定義記錄日志的函數
log() {
  echo "$(date +"%Y-%m-%d %H:%M:%S") - $1" >> "$LOG_FILE"
}

# 檢查CPU占用率并記錄
while true; do
  # 獲取CPU占用率最高的前10個進程信息
  CPU_USAGE=$(ps -eo pid,comm,%cpu --sort=-%cpu | head -n 11 | tail -n 10)
  
  # 記錄到日志文件
  log "Top 10 CPU-consuming processes:"
  echo "$CPU_USAGE" >> "$LOG_FILE"
  
  # 檢查是否超過閾值
  while IFS= read -r line; do
    PID=$(echo "$line" | awk '{print $1}')
    NAME=$(echo "$line" | awk '{print $2}')
    USAGE=$(echo "$line" | awk '{print $3}')
    
    if (( $(echo "$USAGE > $THRESHOLD" | bc -l) )); then
      log "Warning: Process $NAME (PID: $PID) is using $USAGE% CPU, which exceeds the threshold of $THRESHOLD%."
      # 可選:發送警告郵件或通知
      # mail -s "CPU Usage Alert" your_email@example.com <<< "Process $NAME (PID: $PID) is using $USAGE% CPU, which exceeds the threshold of $THRESHOLD%."
    fi
  done <<< "$CPU_USAGE"
  
  # 等待指定時間
  sleep "$INTERVAL"
done

腳本說明

  1. 日志文件:腳本將監控結果記錄到指定的日志文件中。你可以通過查看日志文件來了解系統的CPU使用情況。
  2. 檢查間隔INTERVAL變量控制腳本檢查CPU使用情況的時間間隔。默認設置為60秒。
  3. 閾值THRESHOLD變量設置了一個CPU占用率的閾值。當某個進程的CPU占用率超過該閾值時,腳本會記錄警告信息。你可以根據需要調整這個閾值。
  4. 警告通知:當CPU占用率超過閾值時,腳本會記錄警告信息到日志文件中。你可以選擇通過郵件或其他方式發送通知。
0條評論
0 / 1000
王****際
180文章數
2粉絲數
王****際
180 文章 | 2 粉絲
原創

自動收集Linux系統中CPU負載前10的進程腳本

2025-03-13 19:22:26
3
0

腳本功能

  1. 每隔一定時間(例如每分鐘)檢查系統中CPU占用率最高的前10個進程。
  2. 將進程的PID、名稱和CPU占用率記錄到日志文件中。
  3. 可以設置一個閾值,當某個進程的CPU占用率超過該閾值時,發送警告信息(可選)。

腳本代碼

#!/bin/bash

# 配置參數
LOG_FILE="/var/log/top_cpu_usage.log"  # 日志文件路徑
INTERVAL=60                            # 檢查間隔時間(秒)
THRESHOLD=80                           # CPU占用率閾值(百分比)

# 檢查并創建日志文件
if [ ! -f "$LOG_FILE" ]; then
  touch "$LOG_FILE"
fi

# 定義記錄日志的函數
log() {
  echo "$(date +"%Y-%m-%d %H:%M:%S") - $1" >> "$LOG_FILE"
}

# 檢查CPU占用率并記錄
while true; do
  # 獲取CPU占用率最高的前10個進程信息
  CPU_USAGE=$(ps -eo pid,comm,%cpu --sort=-%cpu | head -n 11 | tail -n 10)
  
  # 記錄到日志文件
  log "Top 10 CPU-consuming processes:"
  echo "$CPU_USAGE" >> "$LOG_FILE"
  
  # 檢查是否超過閾值
  while IFS= read -r line; do
    PID=$(echo "$line" | awk '{print $1}')
    NAME=$(echo "$line" | awk '{print $2}')
    USAGE=$(echo "$line" | awk '{print $3}')
    
    if (( $(echo "$USAGE > $THRESHOLD" | bc -l) )); then
      log "Warning: Process $NAME (PID: $PID) is using $USAGE% CPU, which exceeds the threshold of $THRESHOLD%."
      # 可選:發送警告郵件或通知
      # mail -s "CPU Usage Alert" your_email@example.com <<< "Process $NAME (PID: $PID) is using $USAGE% CPU, which exceeds the threshold of $THRESHOLD%."
    fi
  done <<< "$CPU_USAGE"
  
  # 等待指定時間
  sleep "$INTERVAL"
done

腳本說明

  1. 日志文件:腳本將監控結果記錄到指定的日志文件中。你可以通過查看日志文件來了解系統的CPU使用情況。
  2. 檢查間隔INTERVAL變量控制腳本檢查CPU使用情況的時間間隔。默認設置為60秒。
  3. 閾值THRESHOLD變量設置了一個CPU占用率的閾值。當某個進程的CPU占用率超過該閾值時,腳本會記錄警告信息。你可以根據需要調整這個閾值。
  4. 警告通知:當CPU占用率超過閾值時,腳本會記錄警告信息到日志文件中。你可以選擇通過郵件或其他方式發送通知。
文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0