GCP/谷歌云真正的免费机 获取免费机AMD CPU区域分配的方法

baiyakai 2025-7-15 2,292 7/15

关于配置机器以获得最佳性能,已有不少教程。在这些配置中,最延迟低的区域是 us-west1(俄勒冈) 区域,这毋庸置疑。对于免费机而言,可用区的选择并不重要,因为它们通常都表现相似。

开出来的机器大多配置较低,使用的是英特尔的老架构,性能相对较弱。然而, e2-micro 能够配置为使用 AMD 的 Rome 架构AMD EPYC 7B12 处理器。本篇文章将教你如何配置出带有 AMD 处理器的机器。

使用 Gemini 写的脚本

#!/bin/bash

# =============================================================================
# 请在这里填写您自己的虚拟机信息
# =============================================================================
# 您的GCP项目ID (例如: my-awesome-project-12345)
PROJECT_ID="your-gcp-project-id"
# 您的虚拟机实例名称 (例如: instance-1)
INSTANCE_NAME="your-vm-instance-name"
# 您的虚拟机所在的区域 (例如: us-west1-a)
ZONE="your-vm-zone"
# =============================================================================
# 脚本配置
# =============================================================================
# 每次循环之间的等待时间(秒),给虚拟机足够的时间启动
WAIT_SECONDS=60
# =============================================================================

# 函数:打印信息
print_info() {
echo "[信息] $1"
}

# 函数:打印成功信息
print_success() {
echo "[成功] $1"
}

# 函数:打印警告
print_warning() {
echo "[警告] $1"
}

# 检查用户是否已填写信息
if [[ "$PROJECT_ID" == "your-gcp-project-id" || "$INSTANCE_NAME" == "your-vm-instance-name" || "$ZONE" == "your-vm-zone" ]]; then
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "!! 错误:请先编辑此脚本,填写您自己的虚拟机信息。 !!"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
exit 1
fi

# 设置gcloud命令使用的项目
print_info "正在设置gcloud项目为: $PROJECT_ID"
gcloud config set project "$PROJECT_ID" > /dev/null

# 初始化尝试次数计数器
attempt_counter=1

# 开始无限循环尝试
while true
do
print_info "=================================================="
print_info "第 $attempt_counter 次尝试..."

# 步骤 1: 确保虚拟机是启动状态
print_info "正在启动虚拟机 '$INSTANCE_NAME' (如果已启动则无操作)..."
gcloud compute instances start "$INSTANCE_NAME" --zone="$ZONE" --quiet

print_info "等待 $WAIT_SECONDS 秒,确保虚拟机完全启动..."
sleep $WAIT_SECONDS

# 步骤 2: 检查当前的CPU平台
print_info "正在检查CPU平台..."
CPU_PLATFORM=$(gcloud compute instances describe "$INSTANCE_NAME" --zone="$ZONE" --format='value(cpuPlatform)')

# 步骤 3: 判断是否为AMD
if [[ "$CPU_PLATFORM" == "AMD Rome" || "$CPU_PLATFORM" == "AMD Milan" ]]; then
print_success "恭喜!已成功刷到AMD CPU: $CPU_PLATFORM"
print_info "脚本执行完毕。"
exit 0
else
print_warning "当前CPU为: $CPU_PLATFORM (不是AMD)。准备进行下一次尝试。"
fi

# 步骤 4: 如果不是AMD,则关停虚拟机,为下次启动做准备
print_info "正在关停虚拟机 '$INSTANCE_NAME'..."
gcloud compute instances stop "$INSTANCE_NAME" --zone="$ZONE" --quiet

print_info "等待30秒后开始下一次循环..."
sleep 30

# 增加尝试次数
((attempt_counter++))
done

 

以下是推荐的配置策略:

  1. 最容易获得 AMD 处理器的区域us-central1(爱荷华) 区域。
  2. 次优区域us-east1(南卡罗来纳) 区域。
  3. 最难配置的区域us-west1(俄勒冈) 区域。没有专门的脚本推荐在此区域尝试配置。

选择可用区

  • us-central1(爱荷华):推荐选择 A 可用区。
  • us-east1(南卡罗来纳):选择 D 可用区。

通过遵循这些步骤,你可以优化配置过程,确保获得预期的高性能机器。

- THE END -

baiyakai

7月15日16:08

最后修改:2025年7月15日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论

您必须 后可评论