发现
突然发现服务器反应慢了,就在granafa瞅了一眼,结果cpu96+,吓了一跳,一想也就是drone跑的没有限制资源使用。drone-runner这个名称有误导,开始以为是在这个容器中build,回念一想它定然是重新开一个container跑,结果一看真的是,所以用docker-compose中的deploy是无法限制资源的。这个所谓的runner更多的是一个agent,事实上一开始它就叫drone-agent,用于创建真正的runner。
CPU和内存限制
drone-runner:
image: drone/drone-runner-docker:1.8
container_name: drone-runner
ports:
- "3000:3000"
depends_on:
- drone
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:rw
environment:
- TZ=Asia/Shanghai
....
- DRONE_CPU_PERIOD=100000
- DRONE_CPU_QUOTA=150000
- DRONE_MEMORY_LIMIT=500*1024*1024*8
DRONE_CPU_PERIOD
参数最大值100000,代表一个cpu的使用时间,如果希望单个cpu使用不超过75%则改为75000DRONE_CPU_QUOTA
和上面的参数配合使用,代表了所有cpu的使用时间总和,不知为什么没有提供cpus那个参数,会好理解的多DRONE_MEMORY_LIMIT
内存限制,这个很好理解,单位是byte,其中50010241024*8代表500MB