前言
今天想要和大家分享的所遇到的问题是对于cpu的占用率超过了1000%。
一、问题描述
证券公司的量化监控端显示某一用户的cpu占用率超过了1000%!
二、解决方案
1、进入客户容器docker?exec?‐it?jupyter‐用户账号?/bin/bash
top查看CPU占用最多的进程1580%,command为python,ps -ef|grep 进程号查看
fly 104677 13554?99 4月07 1-16:22:14 /usr/bin/python -m ipykernel -f /home/fly/.local/jupyter/runtime/kernel-c831dcd0-c348-4741-9500-20559a38f3cd.json
说明该进程是量化研究所占用;
2、由于该客户容器CPU占用率过高,需要联系客户停止并重启量化环境,重启量化环境会停止已运行的研究、回测、交易;
3、经确认,该客户在量化研究内跑一个选股的策略,运用到机器学习的库xgboost,使用机器学习训练,导致CPU占用过高。建议general_config.conf的black_pack_list-黑名单中加入xgboost库的禁用,然后重启jupyterhub服务生效。
注:确认研究、交易、回测进程运行的方法:
量化服务器后台进入客户容器中docker exec ‐it jupyter‐用户账号 /bin/bash,输入 top -b返回数据,
1、若某条的command为python,则代表这条数据是交易进程或者研究进程在运行,ps?-ef|grep?进程号
(1)若是交易进程,则会显示如下信息:
python /home/fly/sim_backtest/result/交易ID/user_code.py;
(2)若是研究进程,则会显示如下的信息:
fly 25574 62 4?09:40 00:04:36 /usr/bin/python -m ipykernel -f /home/fly/.local/share/jupyter/runtime/kernel-8efc0a82-24cb-41df-bd42-adffe9c6fd4e.json
2、若某条的command为python3.5,则代表这条数据是回测进程在运行,
ps -ef|grep 进程号会显示如下的信息:
fly 87?58?53 13:21 00:01:58 /usr/local/python3.5/bin/python3.5 -m ipykernel -f /home/fly/.local/share/jupyter/runtime/kernel-2a55b1fc-64c9-4b13-9cc3-0e5c1fb92619.json
结语
ptrade的渠道可以通过《ptrade开通详则》来获取,感谢看到这里,如果有更多疑问欢迎在评论区提出!