简介
近期甲骨文出台了政策,将对闲置的服务器进行停机或者回收处理,为了防止被删,网上各路大神也出了很多教程来让服务器高负载,不过大多数都是试用 shell 脚本循环计算,dd 复制空文件或者一些类似 lookbusy 等第三方软件来模拟高负载。
不过作为洁癖党,总是会避免安装一些不太了解的第三方软件,也但是一些脚本后台运行出问题,或者时间长了忘记了,所以还是觉得把脚本跑在 docker 里最合适,也最方便管理。可以做到想开就开,想关就关,还可以配合 crontab 定时开关。
甲骨文 Oracle 能创建几台免费服务器?
首先,每个甲骨文账号
免费磁盘配额为200G
,单台服务器默认最小磁盘空间为47G
,所以免费用户最多只能创建4
台服务器。
免费服务器包含固定配置的 X86 服务器和自定义配置的 ARM 服务器,具体如下:
VM.Standard.E2.1.Micro 为固定配置1核/1G内存
,最多只能创建2
台,创建后显示 Always Free
。
VM.Standard.A1.Flex 根据每月的计算配额而定,免费用户最高
可以创建4核/24G内存
。在自定义配置时,选配的 CPU 和内存固定比例比为1:6
,所以可以根据自己需求分别
创建:
1 台 4 核心 24GB 内存
2 台 2 核心 12GB 内存
4 台 1 核心 6GB 内存
注意:ARM Flex 服务器创建后不会
显示Always Free
,但只要在配额内是不会扣费。
由于上文提到的免费账号磁盘配额限制,所以一个账号无论选择 X86 还是 ARM,最多只能创建 4 台免费服务器。推荐以下几种方式:
单台 ARM 4C/24GB/200G 在创建前选择磁盘大小为 200G(性能存储带宽最大化)
单台 ARM 4C/24GB/100G + 两台 X86 1C/1G(性能和数量均衡选择)
两台 ARM 2C/12GB + 两台 X86 1C/1G(架构性能数量同时最大化)
四台 ARM 1C/6GB 均保持磁盘大小为默认即可(数量性能带宽同时最大化)
创建完毕后建议访问存储 - 块存储 - 引导卷
页面,查看所有磁盘都显示Always Free
。
而计算 - 实例
页面中的 ARM Flex 服务器是不会
显示Always Free
,只要保证不超过4C/24G
配额即可。
教程
原理很简单,就是写了一段最简单的循环计算 shell 脚本,在 alpine 容器内部执行。只需要控制 docker 的启动和停止即可。
注意:本服务脚本仅占用 CPU 资源,甲骨文政策大概率满足其一即可。
CPU 占用效果
启动此容器后 CPU 占用大致效果图

docker
启动命令
docker run -d --name keeporaclealive --rm alpine sh -c "while true; do for i in {1..100000}; do j=$((i*i)); done; done"
停止命令
docker stop keeporaclealive
注意:上述启动命令加入了--rm
参数,停止容器将自动删除容器,不会残留到系统中。
docker 常驻
启动命令
docker run -d --name keeporaclealive --restart always alpine sh -c "while true; do for i in {1..100000}; do j=$((i*i)); done; done"
上述命令将容器常驻,即使服务器重启也会自动启动服务。
停止命令
docker stop keeporaclealive# 停止服务,容器不会被删除。docker start keeporaclealive# 再次启动容器。docker rm keeporaclealive# 停止后彻底删除容器。
docker compose
同时也可以用 docker compose 来管理,这样启动和停止命令会更加方便。
mkdir keeporaclealivecd keeporaclealive
vi docker-compose.yml# 创建 keeporaclealive 目录并新建 docker-compose.yml 文件,复制以下配置文件。
docker-compose.yml
version: '3'services:
keeporaclealive:
image: alpine
command: 'sh -c "while true; do for i in $$(seq 1 100000); do j=$$[i*i]; done; done"'
restart: always
启动和停止可以用以下命令控制:
docker-compose up -d# 启动docker-compose down# 停止
crontab 定时任务,每日 10 点启动,每日 14 点停止。
根据自身情况修改 /root/keeporaclealive 目录地址
crontab -e# 添加以下两条记录0 10 * * * cd /root/keeporaclealive && /usr/local/bin/docker-compose up -d
0 14 * * * cd /root/keeporaclealive && /usr/local/bin/docker-compose down