Chinaunix首页 | 论坛 | 博客
  • 博客访问: 173529
  • 博文数量: 33
  • 博客积分: 1411
  • 博客等级: 上尉
  • 技术积分: 342
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-04 13:04
文章存档

2008年(33)

我的朋友

分类:

2008-09-09 10:10:17

 

内存检测指标-基于每个进程

 

1)  RSS/VSS的大小

2)  Textdata,和track段的大小

3)  共享内存段的数量

4)  被阻塞在虚拟内存的时间

RSSresident set size):进程实际驻存在物理内存的部分的大小。因为一个进程执行不需要把整个进程都全部驻存到物理内存。

VSSvirtual set size       :一个进程的总的大小。只有当进程执行时,整个进程都驻存到物理内存时才RSS=VSS

每个进程都有textdatatrack段。这些段的值将进行监控,特别是较大的进程。

Textdatatrack每个段都有能够增加到的最大值,如果一个进程某个段的的值超过了最大值,那么这个进程将终止,有时会“core dumps

每个进程都会附有share memory ,每个进程的share memory段的数量是通过内核参数shmseg来限制。

被阻塞在虚拟内存的时间:就是进程被阻止执行的时间,因为进程要等候code或者datapage in 物理内存。

 

 

 

查看虚拟内存统计   vmstat 

 

 

Vmstat命令的输出主要注意popages page out)列的值,如果po=0,通常表示没有page发生。

命令输出的fr列表示vhand 守护进程 free pages /s

                   sr列表示vhand 守护进程 scanned pages/s

                   fr/sr的值表示vhand 进程的成功率。这个不用太关心,只要重点注意PO值,是否等于0吧。

 

优化内存瓶颈系统-硬件方面解决

 

1)添加内存

2)减少x-termnials的使用

因为 x-terminal占用内存很大,当小应用大约占34M,当大应用可以占用到1024M以上。

 

调整优化内存瓶颈系统-软件方面解决

1)  找出不必要的进程(额外窗口,屏保,长串子进程等)

2)  减少dbc_max_pct

3)  识别找出有内存泄漏的进程

4)  检查未引用的共享内存段

5)  使用serialize 命令减少进程失效

6)  PRM优化内存的分配

  

 通常情况下:

 

 用x-windows 的应用的图形程序都占用大量的系统资源包括内存

 占用物理内存最多是buffer cache。为了防止free memory 低于LOTSFREE,以避免paging,需要谨慎的设置 dbc_max_pct值,以避免其占用太多的物理内存,导致paging甚至swaping发生。

 

 

内存管理部分就写到这里,请大家指证,谢谢!

 

阅读(1709) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~