首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux上,严重线程程序的最佳交换大小是多少?

问在Linux上,严重线程程序的最佳交换大小是多少?
EN

Unix & Linux用户
提问于 2012-02-10 15:15:57
回答 1查看 852关注 0票数 1

我使用Amazon服务器小实例,默认情况下,它允许每个进程执行382个线程。但是,我希望在一个进程中运行10,000个线程。最近,我了解到这可以通过减少堆栈限制或增加虚拟内存来实现。

据我所知,可以通过增加Linux中的RAM或交换空间来增加虚拟内存。增加RAM不是一种选择。我知道如何增加交换空间,但我不确定我应该选择的最佳尺寸是什么。

我不清楚的是,当我运行线程时,交换空间和RAM是如何工作的?在交换内存使线程慢下来之后,是否有特定的限制?是否应该使用最佳的交换空间?:

EN

回答 1

Unix & Linux用户

发布于 2012-02-10 15:39:00

在正常情况下,系统管理员使用1x或2x内存进行交换。在你的情况下,我不知道这是否适用,甚至足够。

如果不提供运行内容的详细信息,就很难知道什么是合适的交换站点,但通常情况下,如果将其换到磁盘上,则会导致性能下降,从而使运行时间增加数量级。因此,在您投入10k线程之前,您应该看看应用程序的配置或设计,然后做一些其他的事情,这些线程可能会被疯狂地交换。

因此,分析您的应用程序并确定活动并发线程的数量,也许您不需要运行这么多。

请求的

解决方案

当您建立到网站或When服务器的连接时,您将维护发送到该特定连接的请求列表,因为响应将按顺序接收。当线程向服务器发送请求后,您将在select()循环中等待数据可用。当发生这种情况时,您将接收数据并将请求信息和接收到的数据向下发送到另一个线程进行处理。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/31387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档