shell脚本检测进程的CPU内存占用率

使用方法:

把xxx替换为自己进程的名字,然后直接运行该脚本即可在当前目录下产生一个叫做memory_info.txt的文件,记录进程的CPU内存占用率信息。可以用来查看自己进程对系统资源的消耗情况。

#!/bin/bash

process="xxx"
output_file="memory_info.txt"

# 如果有这个文件就先删除
if [ -f $output_file ]; then
    rm -rf $output_file
fi

while true; do
    date=$(date +"%Y-%m-%d %H:%M:%S")
    echo "$date" >> "$output_file"

    # 获取进程ID
    pid=$(pgrep $process)

    if [ -n "$pid" ]; then
        # 获取进程的CPU和内存占用率
        cpu=$(ps -p $pid -o %cpu --no-headers)
        mem=$(ps -p $pid -o %mem --no-headers)
        # 获取系统内存使用情况
        memory_info=$(free -m)

        # 打印CPU和内存占用率
        echo " $process 进程的 CPU 占用率: $cpu%,内存占用率: $mem%" >> "$output_file"
        echo " 系统的内存使用情况:" >> "$output_file"
        echo " $memory_info" >> "$output_file"
        echo "--------------------------------------------" >> "$output_file"
    else
        echo "$process 进程不存在" >> "$output_file"
        echo "--------------------------------------------" >> "$output_file"
        exit 1
    fi

    # 等待15秒
    sleep 15
done

结果如下图所示:

shell脚本检测进程的CPU内存占用率_第1张图片

 

你可能感兴趣的:(linux,服务器,运维)