现象
基于pytorch的模型服务,本地裸跑代码都是正常的,一旦上docker服务部署后,程序会出现卡死现象
解决
原因是,默认情况下,pytorch会启动宿主机当前的CPU核数作为线程数去运行,一旦该docker服务是和其他服务共享机器,就容易造成CPU占用过高,出现卡死。指定pytorch使用单线程运行可解决。有如下两种方式可解决
- export OMP_NUM_THREADS=1
- torch.set_num_threads(1)
基于pytorch的模型服务,本地裸跑代码都是正常的,一旦上docker服务部署后,程序会出现卡死现象
原因是,默认情况下,pytorch会启动宿主机当前的CPU核数作为线程数去运行,一旦该docker服务是和其他服务共享机器,就容易造成CPU占用过高,出现卡死。指定pytorch使用单线程运行可解决。有如下两种方式可解决