是不是oneasiahost的openvz VPS限制单进程最大虚拟内存数了?

2013-11-18 21:05:28 +08:00
 paw
最近入的oneasiahost最最低端的128内存的那种,就是为了挂shadowproxy
打开2个以上的网页总是会断,ssh上发现是python进程报 无法创建线程 异常

ulimit -v -s 结果如下
virtual memory (kbytes, -v) unlimited
stack size (kbytes, -s) 10240

virtual memory没限制,栈大小10MB
这样理论上能创建300+线程吧

用如下代码测试
#include <stdio.h>
#include <pthread.h>
void foo()
{
while(1)
sleep(100);
}
int main()
{
int i = 0;
pthread_t thread;

while (1) {
if (pthread_create(&thread, NULL, foo, NULL) != 0)
break;
i ++;
}
printf("i = %d\n", i);
}

结果是创建到23个线程就崩掉了。。。。
尝试 ulimit -v 3145728 然后再跑测试 还是23个崩。。。ulimit修改VM限制完全没作用啊
尝试 ulimit -s 2048 测试 119个崩。。。
我擦了 这是明摆的限制单进程VM 只能在240MB左右了啊。。。


当然ulimit -s 2048 这样能跑100+线程 估计shadowproxy完全够用了,但是,知道有个这种限制就是不爽。。。
请问各位,这样有的限制有解封的可能吗,,,,,
真不行我动手把shadowproxy改成多进程的去。。。。
3164 次点击
所在节点    Linux
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/89725

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX