IT咨询服务AIXcognostunning

如何验证那个process消耗完内存

大家好~ 第一次来这边发问,如有发错板块麻烦告知协助搬到正确板块首先说系统架构:有2台Server(一台LDAP做security验证;一台做AP,包含有DB2/Informix/Cognos/Web service...etc)AIX 6.1.8.3 (6cpu , 2 core , 60G Ram ; stacksize(hard:unlimited, soft:8192)+openfiles(hard...显示全部
大家好~ 第一次来这边发问,如有发错板块麻烦告知协助搬到正确板块

首先说系统架构:有2台Server(一台LDAP做security验证;一台做AP,包含有DB2/Informix/Cognos/Web service...etc)
AIX 6.1.8.3 (6cpu , 2 core , 60G Ram ; stacksize(hard:unlimited, soft:8192)+openfiles(hard:unlimited, soft:8192) )
Cognos 10.2 no fix pack(DB2是contentDB,Informix是Report DB, Cognos是报表展现工具)

问题发生在AP server:
我们发现在问题发生时会产生core(PROD或是UAT进行压力测试时),从core dbx where output解析发现是 tcmalloc问题。(MALLOCTYPE=tcmalloc)
所以开发建议是否可以disable tcmalloc,于是我们使用MALLOCTYPE=watson来规避这个问题。
使用MALLOCTYPE=watson时的确规避了error以及core产生,但也严重影响了Cognos报表执行的效能。(执行月报从50分钟增加到3小时)

图形一显示了2次压力测试的结果,从nmon解析的MEM察看(#1为MALLOCTYPE=tcmalloc,有core产生;#2为MALLOCTYPE=watson)
图形二显示了nmon解析中的MEMNEW

现在我的问题是:
Q1: 从NMON看来当时可以用内存的确很低,但为什么只有#1有Core,#2压测没有core/错误产生呢
Q2: 想要知道是AIX OOM还是Cognos的process OOM. 应该从哪里察看呢
Q3: 从NMON中UARG可以看出当时有process执行,但要如何查询那一个process把memory使用完了

麻烦大家了,还有需要什么讯息可以再补充。谢谢

mem_1.png



mem_2.png

收起
参与5

查看其它 2 个回答neilrule的回答

neilruleneilrule系统运维工程师zhou
涨姿势。涨姿势
金融其它 · 2015-08-26
浏览2571

回答者

neilrule
系统运维工程师zhou
擅长领域: 服务器存储数据库

neilrule 最近回答过的问题

回答状态

  • 发布时间:2015-08-26
  • 关注会员:2 人
  • 回答浏览:2571
  • X社区推广