It's our wits that make us men.

容器化部署项目问题及解决思路

Posted on By 刘电波

introduction

容器化部署项目问题及解决思路,在容器化过程中遇到一些难以忍受的问题,踩坑中。

(1) docker时间修改。

docker之类的容器化技术本身隔离性不如虚拟机技术那么好,时间并没有隔离,使用libfaketime

(2) 起岛的进程cpu持续高占用。

排查思路:

对于`cpu`占用过高,一般我习惯先去`top` -`Hp` `pid`,找到高占用线程,然后用`jstack`查看线程堆栈。

但是十分诡异的是`top` -`Hp` `pid`返回的并没有占用很高的线程,每个线程都十分均衡,没办法只能不断回退版本查看哪一次修改导致这个情况。最后发现是`libfaketime`的问题,通过镜像构建时删除

DPTHREAD_SINGLETHREADED_TIME参数解决。