切诺基甚至在禁用I / Ocaching之后仍然使用较高的虚拟内存

我已经在openvz容器上运行Ubuntu 10.04LTS 64位,并且从源代码编译了Cherokee 1.0.8。 切诺基工作者的虚拟内存使用量大约为430MB,即使在从高级 – > I / Ocaching – >未启用的情况下禁用了I / Ocaching之后。

这个问题特别是openvz? 因为许多人报告已通过禁用iocaching成功减less了virt memory的使用。

htop输出: http : //imgur.com/z5JEL.jpg (新手不允许张贴图片。)

提前致谢。

nidheeshdas

至less有一部分将是堆栈分配(RLIMIT_STACK),这是分配给每个切诺基线程和切诺基使得很multithreading。 这个内存实际上并没有被使用,并且仍然是可用的,所以它通常没有关系,但是使用OpenVZ,它会被计入您的配额中,您需要在OpenVZ VPS上保留它。 我甚至无法在我的256MB VPS上以默认configuration启动cherokee,因为OpenVZ认为它正在使用超过210MB的可用空间,刚刚启动。

您可以减lesscherokee在Webconfiguration中的Advanced-> Resources下的线程数(如果您直接编辑cherokee.conf,设置为“server!thread_number = XX”),或者您可以更改堆栈在使用'ulimit -s SIZE_IN_KB'运行cherokee之前(你可以在用'ulimit -s'改变之前看到默认值 – 我的VPS默认为10240, 每个线程10MB )。 请记住,您需要在运行cherokee之前设置ulimit,而不是系统范围。 因此,无论是在从同一个shell启动cherokee之前在shell中执行它,还是在启动cherokee之前编辑启动脚本来运行“ulimit -s XX”。

一个很好的资源来处理(尤其是低端的)VPS是LowEndBox。 他们有关于如何“ 减lessmultithreading应用程序的堆栈限制 ”的博客文章。

内存被php5-fpm进程使用,而不是由cherokee。 你运行一个胖的PHP应用程序?