转载自:ioiox博客

背景

官网政策修改:甲骨文对闲置实例的定义为在 7 天内满足以下条件的实例:

  • 95% 时间的 CPU 使用率不足 10%
  • 网络利用率低于 10%
  • 内存利用率低于 10% (仅适用于 A1 ARM 免费实例)

简介

为了防止服务器被删,网上各路大神也出了很多教程来让服务器高负载,不过大多数都是试用 shell 脚本循环计算,dd 复制空文件或者一些类似 lookbusy 等第三方软件来模拟高负载。

不过作为洁癖党,总是会避免安装一些不太了解的第三方软件,也但是一些脚本后台运行出问题,或者时间长了忘记了,所以还是觉得把脚本跑在 docker 里最合适,也最方便管理。可以做到想开就开,想关就关,还可以配合 crontab 定时开关。

教程

原理很简单,就是写了一段最简单的循环计算 shell 脚本,在 alpine 容器内部执行。只需要控制 docker 的启动和停止即可。

docker命令

#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停止命令
docker stop keeporaclealive

#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停止命令
docker stop keeporaclealive
# 停止服务,容器不会被删除。
docker start keeporaclealive
# 再次启动容器。
docker rm keeporaclealive
# 停止后彻底删除容器。
效果