阿里云
阿里云大学认证0元起
发表主题 回复主题
  • 21715阅读
  • 22回复

[产品讨论]阿里云监控/云盾Agent服务造成内存泄露的临时解决方案

级别: 小白
发帖
25
云币
31
— 本帖被 wuzei 从 弹性计算 移动到本区(2014-05-16) —
昨天发现阿里 linux 版中的 agent deamon 进程(aegis_client)有比较严重的内存泄漏问题:运行一段时间后物理内存开销从 2.5MB 飙升到了 72MB(基本上每天泄漏 2.5MB 左右)。 w=o m7%J@l  
Fe< t@W  
经过: Q&Ahr  
======================================================= =u"|qD  
和客户经理反应,说是其它客户也反应过,帮我联系工程师。工程师要了我的 root 账号进去看了一圈,说是因为物理内存不够用了,造成频繁换页才会这样的,我当时就 faint 了: e"mfJY  
1.我汇报的问题是你们的程序物理内存(RSS)开销从 2.5MB 飙升到 72MB,和虚存及换页机制无关。 Ao0PFY  
2.我的物理内存利用率最近1个月内就没超过 50% 过,还有大半空闲的物理内存。 {;M/J  
3.我的换页文件利用率最近1个月内一直稳定在 3.172%,也就是说换页文件根本没怎么用上过。 %,D%Q~  
4.这些都是显而易见的信息,你管我要了 root 账号进去看了这么久,就个我这么个解释?还要我来帮你解读?小兄弟你是来实习的么? :E`l(sI7J}  
5B/\vLHg4  
他被我说的不大好意思了,说是去帮我问问开发组。后来给我打电话回复如下: Lf M(DK  
1.开发组承认 agent 有内存泄漏问题,但是他们 “解决” 了,解决的方法是:监视这个进程的内存泄露情况,一旦超过 100MB,就杀死这个进程并且重新启动它……我靠,这只能算是 workaround 好吧?这是解决问题的态度么? l #z`4<  
2.我又问他那我己可以配置这个 100MB 的 threshold 么?他说好像不行…… }"H900WE|  
======================================================= %$ ?Q%  
S`@*zQ  
bA,D]  
临时解决方案: --)[>6)I  
======================================================= 4FdH:os  
今天有时间,就进去看了一下,发现貌似其实是可以配置的,默认的 threshold 也不是 100MB,是 80MB。 :''0z  
linux 版的配置路径在 /usr/local/aegis/aegis_client/aegis_00_33/conf 下面(请把 aegis_00_33 替换成你正在运行的 agent 版本),配置文件名叫 aegiscli.cfg。用 vi 编辑它,将其中的 max_memory_use 配置项从 80 改为 8,然后 kill 并重启进程 即可。 )!72^rl  
.6#2i <oPW  
又顺便看了下 Windows 版,发现也有类似的内存泄漏问题,Windows 上是云盾主动防御服务,修改方式类似,找到相应的配置目录,例如:C:\Program Files\Alibaba\Aegis\aegis_client\aegis_00_38\conf,编辑其中的 aegiscli.cfg 文件,将 max_memory_use 从 80 修改为 12,然后重启服务即可(Windows 版的进程启动开销比 linux 版大 4MB 左右)。 Zotv]P2k  
======================================================= ! NE q|Y  
L-dKZ8Q  
i.4[]f[/h  
_lqAxWH  
[ 此帖被asbai在2014-05-10 19:14重新编辑 ]
级别: 论坛版主
发帖
6208
云币
15216
只看该作者 沙发  发表于: 2014-05-10
这个。。。确实。。有点。。。
大家提问,请详细描述问题。
级别: 科学怪人
发帖
9439
云币
14680
只看该作者 板凳  发表于: 2014-05-10
谢谢分享
级别: 新人
发帖
18
云币
28
只看该作者 地板  发表于: 2014-05-10
Re阿里云监控/云盾Agent服务造成内存泄露的临时解决方案
汗一个。。。
级别: 论坛版主
发帖
3273
云币
10680
只看该作者 4楼 发表于: 2014-05-10
我本人一直很反感阿里云对系统里做的手脚,即便是有各种堂而皇之的理由,各个发行版自身,不管是CENTOS还是DEBIAN还是UBUNTU,每一个系统内官方安置的程序都是经过全球海量用户千锤百炼的,坑都踩完了,反观阿里云你强加到系统里的东西你怎么保证它没有问题?
本人非阿里云员工,所有言论不代表阿里云公司观点。
有偿提供:环境安装、配置、优化,数据迁移,安全加固,攻击防护,故障排除,长期代维等技术服务。
级别: 荣誉会员
发帖
1808
云币
1082
只看该作者 5楼 发表于: 2014-05-10
顶一个
级别: 菜鸟
发帖
71
云币
10
只看该作者 6楼 发表于: 2014-05-11
Re阿里云监控/云盾Agent服务造成内存泄露的临时解决方案
楼主很有钻研精神。。
级别: 小白
发帖
25
云币
31
只看该作者 7楼 发表于: 2014-05-11
Re阿里云监控/云盾Agent服务造成内存泄露的临时解决方案
引用
引用第4楼服务器之家于2014-05-10 23:08发表的  : /`Yy(?,  
我本人一直很反感阿里云对系统里做的手脚,即便是有各种堂而皇之的理由,各个发行版自身,不管是CENTOS还是DEBIAN还是UBUNTU,每一个系统内官方安置的程序都是经过全球海量用户千锤百炼的,坑都踩完了,反观阿里云你强加到系统里的东西你怎么保证它没有问题? ig4wwd@|  
`KqMcAW  
[^EU'lewnW  
那倒是好办,直接把相应的 service/daemon 禁用就行了。为难的就是既想用云监控等功能,又不希望它出这种纰漏的…… QM\v ruTB  
 }fpK{db  
级别: 小白
发帖
25
云币
31
只看该作者 8楼 发表于: 2014-05-11
Re阿里云监控/云盾Agent服务造成内存泄露的临时解决方案
而且我发现 aegis 有个 quartz daemon,它会周期性地启动一些 Python 脚本来收集采样数据。这其实也很……,所有云监控中的常规性能采集工作其实都可以完全集成在 daemon 进程内部实现,这样周期性地 Launch 其它进程和脚本,既不高效也不紧凑。 Pj^6.f+  
_Nw-|N.  
毕竟作为侵入式的 agent 服务,保持尽可能的高效和紧凑,力求对用户环境影响最小是非常重要的设计目标。 p!173y,nL  
|06G)r&  
PX+$Us  
我想也只有第三方用户自定义的监控项采集需要以如此的方式来实现。 9"&HxyOfX  
级别: 小白
发帖
2
云币
2
只看该作者 9楼 发表于: 2014-07-28
Re阿里云监控/云盾Agent服务造成内存泄露的临时解决方案
多谢楼主
级别: 科学怪人
发帖
9985
云币
21873

只看该作者 10楼 发表于: 2014-07-28
不知道这个问题近期修复了没有!
级别: 小白
发帖
2
云币
2
只看该作者 11楼 发表于: 2014-07-30
Re阿里云监控/云盾Agent服务造成内存泄露的临时解决方案
懂球帝
级别: 科学怪人
发帖
9985
云币
21873

只看该作者 12楼 发表于: 2014-07-30
希望有官方工作人员能回应下!
级别: 程序猿
发帖
241
云币
46
只看该作者 13楼 发表于: 2014-07-30
是啊,我也发现了,内存总飙升,这是个问题啊~每几天就需要重启一下~
级别: 新人
发帖
9
云币
12
只看该作者 14楼 发表于: 2014-07-30
Re阿里云监控/云盾Agent服务造成内存泄露的临时解决方案
Windows的云盾也有内存泄露问题,提交了工单也是要root帐号,shit
发表主题 回复主题
« 返回列表
«12»
共2页
上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: 15 - 15 = ?
上一个 下一个