对一个性能计数器分析相关问题的看法
论坛很多关于性能分析的帖子中都提到一个问题在进行计数器分析时
如果Process\Private Bytes计数器和Process\Working Set计数器的值持续升高
同时Memory\Available bytes计数器的值缺却持续降低的话
说明很有可能是存在内存泄漏
其中
Memory\Available bytes表示可用物理内存数
Process\Private Bytes表示此进程所分配的无法与其它进程共享的当前字节数量。
Process\Working Set表示处理线程最近使用的内存页,反映了每一个进程使用的内存页的数量。
个人认为
在内存不变的情况下进程独占的不与其他进程分享的字节越多
该线程所调用的内存页越多
那么可用的物理内存数自然就少
两者本来就是反比的关系
怎么能说是内存泄漏呢
是我的理解有问题吗?
欢迎大家指点
谢谢
相关描述的帖子见
精华区:1、lr监视的性能计数器
2、loadrunner压力测试实例 下面是我和书剑生对这个帖子的讨论,不知道有没有什么启发?
Zee 20:47:58
论坛很多关于性能分析的帖子中都提到一个问题
在进行计数器分析时
如果Process\Private Bytes计数器和Process\Working Set计数器的值持续升高
同时Memory\Available bytes计数器的值缺却持续降低的话
说明很有可能是存在内存泄漏
其中
Memory\Available bytes表示可用物理内存数
Process\Private Bytes表示此进程所分配的无法与其它进程共享的当前字节数量。
Process\Working Set表示处理线程最近使用的内存页,反映了每一个进程使用的内存页的数量。
个人认为
在内存不变的情况下进程独占的不与其他进程分享的字节越多
该线程所调用的内存页越多
那么可用的物理内存数自然就少
两者本来就是反比的关系
怎么能说是内存泄漏呢
是我的理解有问题吗?
欢迎大家指点
谢谢
相关描述的帖子见
精华区:1、lr监视的性能计数器
2、loadrunner压力测试实例
Zee 20:48:03
你怎么看?
书剑生 20:47:29
把那个帖子的URL告诉我,去瞧瞧去。
Zee 20:49:14
http://bbs.51testing.com/viewthread.php?tid=31309&extra=page%3D1
书剑生 20:51:43
你能区分“进程”和“线程”是不同的两个概念吧。
Zee 20:53:19
可以。
Zee 20:53:40
一个进程可能包括多线程。
Zee 20:55:09
一个进程用勾子函数也可以到多进程里去。
书剑生 20:54:46
是!不过我还要读下farnear的“个人认为”,没太看明白他要表达的意思。
Zee 20:56:50
他的理解是错的,
书剑生 20:56:25
引:
在内存不变的情况下进程独占的不与其他进程分享的字节越多
该线程所调用的内存页越多
那么可用的物理内存数自然就少
两者本来就是反比的关系
我很奇怪他为什么这么想,有这样的例子吗?
Zee 20:58:54
我的理解是Private Bytes增加了,而这些进程分配的内存不能被调用,所以它增加是问题。
书剑生 21:01:09
我看得不明不白的!因为是针对性能问题,举例来说:某个Web站点在用户登录时建立Session,在退出时释放Session。如程序在释放Session时新建Seesion对象,并立刻释放掉。那么仍有一个Seesion没释放,出现内存泄漏问题。
显然是符合:如果Process\Private Bytes计数器和Process\Working Set计数器的值持续升高;同时Memory\Available bytes计数器的值缺却持续降低的话
说明很有可能是存在内存泄漏
Zee 21:02:41
Process\Working Set的增加,如果在Memory\Available bytes也增加的前提下,说明很正常,而Memory\Available bytes减少就有问题了
Zee 21:03:16
对的,你的理解是对的。
书剑生 21:02:59
这么简单的例子,但该网友不理解,纳闷…… 未知他的症结在哪里。
Zee 21:04:53
就是说,不可用的内存在增加,而可用内存减少,这就是内存中的冗余增加了。
书剑生 21:03:48
嗯哼,就是这个意思了~
Zee 21:05:44
把我们的对话回上去吧?
书剑生 21:04:38
可以,你来回吧。嘿嘿~ 我懒~
[ 本帖最后由 Zee 于 2006-4-25 21:09 编辑 ] sdlkfj2
恩
谢谢ZEE老师
我慢慢消化
^_^ :victory:
页:
[1]