限制容器cpu使用率
近日发现网上的云服务器上面挂的梯子服务挂了,登上去看,发现服务器ssh都无法登录。以为是最近发生了什么大事,ip或者端口被ban了,但是ping也ping德通,不知道为啥,之后重启服务器之后就好了。后面经过排查发现是青龙面板的容器占用了大量的cpu资源,本来就是买的单核的云服务器,性能不怎么好,估计挂别人的京东作任务脚本吧写了一些恶意代码,被拉去挖矿了也说不定,如是就研究起如何控制容器对宿主机的cpu占用起来。
使用--cpus参数
其实解决方案很简单 就用 --cpus=xx 这个参数就可以了,该参数可以接受小数
#比如下面这个创建容器的代码
docker run -itd --name=ql -p 5700:5700 -v /home/docker/ql/appdata:/ql/data qinglong
停止容器,之后加入cpus参数,重启。
podman run -itd --name=ql -p 5700:5700 --cpus=0.3 -v /home/docker/ql/appdata:/ql/data qinglong
远程过去可以看到cpu使用率确实么有之前这么离谱了,虽然感觉没有控制到30%,但是起码其他给其他服务留出了足够的cpu资源,这边定时任务也可以慢慢做了,反正不急哈哈
大功告成!