[kde-china] Re: 监视器中CPU占有率的disk sleep是什么意思?

pansz pan.shizhu在gmail.com
星期二 四月 26 09:05:41 CEST 2011


2011/4/25 Shen Miren <dickeny在gmail.com>:
> ”内核本身是能够把过量使用内存的进程干掉的。“
> 求问这个如何设置。

这个一般是自动的。除非你定制了特殊的内核。

你可以验证一下:

可以写个程序,分配100M内存,然后往这段内存中写满随机的数据。然后再分配100M内存,以此循环。很快可以观察到此程序被内核干掉了。注意分配内存后必须写满数据才真正有效,否则实际占用的内存仅限于你写有数据的那些区块。

这个特性带来的另外一个副作用是:在 Linux 下  malloc() 函数”正常使用时“永远不会返回 NULL!你几乎永远能够得到你想
malloc() 的内存,当内存耗尽时,你也不会得到NULL,而是你的进程被干掉了。

——如果你想要防止你的进程被干掉,想要对内存耗尽的情况作处理,这变得很难。——swap 机制此时起作用了,因为 swap
造成系统变卡之后,你可能遇到一些动作的超时,根据大量的超时你可以预测出此时内存耗尽,开始进行大量的 swap
交换,通过超时进行你想要的相关处理。


关于邮件列表 kde-china 的更多信息