以下是一个Shell脚本,它将每10分钟记录一次占用内存最高的进程:

#!/bin/bash

while true; do
    # 获取当前时间
    current_time=$(date +"%Y-%m-%d %H:%M:%S")

    # 获取占用内存最高的进程信息
    top_process=$(ps -eo pid,%mem,cmd --sort=-%mem | head -n 2 | tail -n 1)

    # 提取进程ID、内存占用和命令
    pid=$(echo $top_process | awk '{print $1}')
    mem_usage=$(echo $top_process | awk '{print $2}')
    command=$(echo $top_process | awk '{print $3}')

    # 记录进程信息到日志文件
    echo "[$current_time] PID: $pid, Memory Usage: $mem_usage%, Command: $command" >> memory_log.txt

    # 等待10分钟
    sleep 600
done

这个脚本使用一个无限循环,在每次循环中,它获取占用内存最高的进程信息,并将其记录到一个名为memory_log.txt的日志文件中。然后,它会等待10分钟,然后再次获取最高内存进程的信息,继续记录

写一个Shell脚本设置每10min记录一次占内存最高的进程

原文地址: http://www.cveoy.top/t/topic/iJLU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录