路过秋天

同样的3年,有的人从学生到当了MVP了,而我却在原地,卖弄当年的代码,秋天的风,有点凄,有点凉!

公告信息
内涵是很强大的~~~别看外表~~~当犀利哥入侵不了的时候,感觉有种莫名的失落~~~
文章档案
最新评论

C# Socket服务端线程内存占用大

在开发在线网站压力测试的服务端开发中。。。

结果遇到了以下问题,服务端运行Socket时,发现客户端每增加一个链接,内存占用就多1M。

当链接2000个时,内存占用到2G,真可怕。。

经过多方查证,发现了原来是每个线程启动时,如果遇到Thread.Sleep,默认会有1M的堆栈大小,所以服务端的线程数,导致了大量内存的占用。

再经过重重分析,最后发现Thead类原来有个初始堆栈大小设置,通过设置,占用大小会小一倍。

具体代码为:

Thread thread=new Thread(..参数1...,512);

经过测试,把线程堆栈设为512或以下,实际占用的内存都是一样的,估计微软有个最低限制。

问题“C# Socket服务端线程内存占用大" 就简单记录到这了。
秋色园是QBlog的官方站点,由路过秋天创建,基于cyqdata数据层框架开发的支持多用户、多语言、多数据库(access,mssql,oracle)、目录级url等功能强大的博客系统
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"

2013/5/11 19:47:14 | 记录点滴 | |

#1游客[注册][36.251.65.*]2013/6/1 23:58:04
如果是异步Socket 就不存在这个情况了吧! 因为你是用到线程异步????
  • 发表评论