lovart3/scripts/fix-high-cpu.sh

91 lines
2.4 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 系统性能优化脚本 - 修复高CPU占用和发热问题
# 使用前请仔细阅读说明
set -e
echo "🔍 系统性能诊断工具"
echo "===================="
echo ""
# 颜色定义
RED='\033[0;31m'
YELLOW='\033[1;33m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color
# 检查高CPU进程
echo "📊 检查高CPU占用进程(>30%)..."
echo ""
high_cpu_processes=$(ps aux | awk 'NR>1 && $3 > 30 {print $2, $3, $4, $11, $12}' | head -10)
if [ -z "$high_cpu_processes" ]; then
echo -e "${GREEN}✓ 未发现高CPU占用进程${NC}"
else
echo -e "${YELLOW}发现以下高CPU占用进程:${NC}"
echo "PID %CPU %MEM 进程名"
echo "$high_cpu_processes" | while read line; do
echo "$line"
done
fi
echo ""
echo "💾 检查高内存占用进程(>5%)..."
echo ""
high_mem_processes=$(ps aux | awk 'NR>1 && $4 > 5 {print $2, $3, $4, $11, $12}' | head -10)
if [ -z "$high_mem_processes" ]; then
echo -e "${GREEN}✓ 未发现高内存占用进程${NC}"
else
echo -e "${YELLOW}发现以下高内存占用进程:${NC}"
echo "PID %CPU %MEM 进程名"
echo "$high_mem_processes" | while read line; do
echo "$line"
done
fi
echo ""
echo "⚡ 系统负载状态..."
uptime
echo ""
echo "🔋 电源设置..."
pmset -g | grep -E "sleep|displaysleep|disksleep"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📋 建议操作:"
echo ""
echo "1. 如果发现 Cursor Helper (Renderer) 占用高CPU:"
echo " → 打开活动监视器,找到该进程并强制退出"
echo " → 或重启 Cursor 应用"
echo ""
echo "2. 如果发现 Adobe Illustrator 占用高CPU:"
echo " → 检查是否有后台任务在运行"
echo " → 如果不需要,完全退出 Adobe Illustrator"
echo ""
echo "3. 如果显示器睡眠被阻止:"
echo " → 关闭阻止睡眠的应用(通常是 Adobe 相关进程)"
echo ""
echo "4. 查看详细诊断报告:"
echo " → 打开 '系统性能诊断与解决方案.md' 文件"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "⚠️ 如需终止特定进程,请使用活动监视器或手动执行:"
echo " kill -9 <PID> # 请谨慎使用,可能导致数据丢失"
echo ""