2009年11月12日星期四

[PerlChina] Re: 请教:多进程中子进程的结果如何“回收”

多谢,这个perldoc比在命令行里看格式更清楚 ^_^

确实是当父线程的内存开销很大的时候,整个程序的内存开销也在增加。不过我在top看麽和cpu占用的时候发现这个多线程的进程显示的内存使用比率很奇
怪。它和别的进程占用内存总比率超过了100%。如下:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND
20932 wuqi 25 0 5406m 5.1g 1672 S 296.9 51.9 1:34.57
OligoGrow-0.1-
a
19370 wuqi 25 0 1075m 996m 480 R 100.1 10.0 1898:49
OligoCompTemp-0
19371 wuqi 25 0 1075m 996m 480 R 100.1 10.0 1898:49
OligoCompTemp-0
19372 wuqi 25 0 1075m 996m 480 R 100.1 10.0 1898:49
OligoCompTemp-0
19373 wuqi 25 0 1077m 998m 480 R 100.1 10.0 1898:49
OligoCompTemp-0
19374 wuqi 25 0 1075m 995m 480 R 100.1 10.0 1898:49
OligoCompTemp-0
19375 wuqi 25 0 1078m 998m 480 R 100.1 10.0 1898:49
OligoCompTemp-0
19376 wuqi 25 0 1077m 998m 480 R 99.7 10.0 1898:49
OligoCompTemp-0

最上面那个OligoGrow就是我试跑多线程的程序。我分给他3个线程所以占用了300%的cpu。另外他占用了一半多一点的内存。但是同时那台服务
器上还有7个叫OligoCompTemp什么的进程每个都占了10%的内存。这样总内存使用率加起来就120%了。为什么会这样呢?

On 11月12日, 下午2时00分, truncatei <trunca...@gmail.com> wrote:
> 按照官方的说法,线程会得到父线程的数据的一份拷贝,到这里去看看吧
> http://perldoc.perl.org/perlthrtut.html
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

没有评论: