Chinaunix首页 | 论坛 | 博客
  • 博客访问: 267778
  • 博文数量: 107
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 74
  • 用 户 组: 普通用户
  • 注册时间: 2016-11-18 09:57
文章分类

全部博文(107)

文章存档

2023年(2)

2021年(1)

2017年(1)

2015年(4)

2014年(9)

2013年(4)

2012年(14)

2011年(49)

2010年(23)

分类:

2010-11-03 11:46:14

《专业维修Solaris,HP Unix, IBM AIX, PC Server/Linux系统及硬件: 18748154531》
 
1.在/etc/system里加上set kmem_flags=0xf, reboot

2. 跑一会儿应用,但不要等到内存被耗尽,然后退出应用程序。

3. reboot -d ,产生crash dump

4. 在/var/crash/里找到你的crash dump file, 要等一会儿,因为dump过程可能会比较慢

5. mdb /var/crash/SOLARIS/{unix,vmcore}.0, 进入后, 输入::findleaks -d, 然后把输出贴出来。

如果没有leak,也可以在打开kmem_flag的情况下,等问题出现,进mdb -k, 然后把::kmastat
::vmem, ::kmauser -ef 的输出拿出来看看。
 
注:
 
如果没有memory leak, 可以查看是哪个内核模块占用了内存,

1. ::memstat, 先确认物理内存耗尽

2. ::kmastat 在看哪些cache有分配失败

3. ::kmausers 找到占用内存最多的栈
 
 
 
 
 
 
 
阅读(1126) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~