背景
最近新入手一台云主机用来做开发机,在安装配置好环境,正准备写几行 cpp。突然想到作为一个性能工程师,我有必要在空负载的情况下观测一下我的开发环境。不看不知道,一看吓一跳。
从上面这张图我们可以看到 `YDService` 占了我 61% ,`barad_agent` 占了 15% 。已使用资源中的 76% 都不是我想要的,这个非常有必要处理一下。
下面记录一下这个事件的过程。
第一步 CPU 采样审视性能
在环境准备好之后这个也比较简单,两行命令就能出火焰图,下面直接上命令。
代码语言:javascript复制# 采样
profile --stack-storage-size=20480 -af 60 > system-profile.out
# 画图
./flamegraph.pl --title=system-profile --colors=aqua < ../system-profile.out > ../system-profile.svg
第二条画图命令输出是一个 svg 格式的文件,直接使用浏览器就能打开,看到的效果如下。
x 轴方向上的宽度就是它占的比例,所以我们的目标就是解决掉那些比较宽的行。在上面这张图上比较宽就有 YDService & barad_agent 两个。
第二步 确认问题
经过一我通 google 后确认,个这两个都云服务商官方的进程,一个用来做主动防御另个用来做监控。我还是有点信心(一般的破解方式进不了我的主机),所以我决定把这两个进程给干掉。
代码语言:javascript复制/usr/local/qcloud/YunJing/uninst.sh
/usr/local/qcloudmonitor/barad/admin/uninstall.sh
第三步 核实结果
再采样一次
代码语言:javascript复制# 采样
profile --stack-storage-size=20480 -af 60 > system-profile.out
# 画图
./flamegraph.pl --title=system-profile --colors=aqua < ../system-profile.out > ../system-profile.svg
这一下好啦,整个世界都干净了。