Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1981784
  • 博文数量: 593
  • 博客积分: 20034
  • 博客等级: 上将
  • 技术积分: 6779
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-06 14:07
文章分类

全部博文(593)

文章存档

2016年(1)

2011年(101)

2010年(80)

2009年(10)

2008年(102)

2007年(16)

2006年(283)

我的朋友

分类:

2006-05-16 00:42:40

计算程序内存需求最小量

用以计算程序内存需求最小量的公式是:

总内存页数 (4 KB units) = T + ( N * ( PD + LD ) ) + F

其中:

T

= 文本页数(所有用户共享)

N

= 该程序同时运行的副本数

PD

= 进程私有段中工作段数

LD

= 进程使用的共享库数据页数

F

= 文件页数(所有用户共享)

得到的结果乘以 4 就得到要求的数值,以千字节计。您可能也希望加入到内核,扩充内核和共享库的文本段的值到这里即使它们是为系统中所有进程共享的。例如,一些如 CATIA 的应用程序和数据库使用的很大的共享库模版。注意到我们只用了进程的单一快照的统计信息,没有理由认为我们从公式里获取的值就是正确的进程的最小工作集合的大小值。要得到工作集合的容量,需要运行如 rmss 命令的工具或者在进程的生命周期内拍摄许多快照,并取这些快照中的平均值。

如果我们以程序的 pacman 估计最小内存需求,该公式应为:

T

= 2 (Inuse of code,/dev/lv01:12302 of pers)

PD

= 1632 (Inuse of private of work)

LD

= 12 (Inuse of lib data of work)

F

= 1 (Inuse of /dev/hd2:53289 of pers)

那就是: 2 + (N * (1632+ 12)) + 1, 等于 1644 * N + 3 (以 4KB 为单位)。

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