由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C10M 练习 step 1: 10M sockets
相关主题
C10M 练习2: 空TCP 连接,1M per 4G RAMUNIX DATAGRAM 类型socket最大报文长度多少?
linux 下从c++动态内存操作问题,heap size不够还是别的?一个socket中select函数的问题
[合集] 请教一个Linux系统编程的问题问一个Linux无法监听指定端口的问题
C10M除了socket以外,还牵涉其他方面的技巧用stl的程序一般比不用stl library的size大多少?
does the system guarantee this? (转载)effective C++里的memory pool 一问:
问问跟Linux Kernel Programming 有关的问题why do we still use dynamic allocation?
How to get local hostname under linux?Comments about OOM killer, for fun only :)
有没有人在Vista下试过UDP广播问一个machine learning/SVM 问题
相关话题的讨论汇总
话题: kernel话题: 1024话题: file话题: alloc话题: files
进入Programming版参与讨论
1 (共1页)
S*A
发帖数: 7142
1
我觉得大家讨论很热情,
我们来做点练习吧,不要光说不练。
下面这个程序是暴露一些写 C10M 可能碰到的问题,
看看大家有没有神魔解决方法。如果有,请贴程序或者
脚本,方便他人重复实验.
如果实在没有人贴答案,我也可以公布我自己的。
#include
#include
#include
#include
int main(int argc, char *argv[])
{
int i;
for (i = 0; i < 1024*1024*10; i++) {
int s;
s = socket(PF_INET, SOCK_STREAM, 0);
if (s < 0) {
char buffer[1024];
snprintf(buffer, sizeof buffer, "socket #%d", i);
perror(buffer);
return 1;
}
}
return 0;
}
这个程序运行,
$ ./test-fileno
socket #1021: Too many open files
$
欢迎大家贴解决方案。
g*****g
发帖数: 34805
2
我的实现最简单,20台机器,每台十个 VM, 每个5万连接。 ephemeral port也够用。
不牛逼,但是很实用。
S*A
发帖数: 7142
3
注意神魔都不改的话,程序失败在 1024。
所以你的 5 万连接要解决同样的问题。你能给出 5 万的解决办法吗?
对这个问题,可以解决 5 万同样方法应该可以用在 10M 上。

【在 g*****g 的大作中提到】
: 我的实现最简单,20台机器,每台十个 VM, 每个5万连接。 ephemeral port也够用。
: 不牛逼,但是很实用。

h**********c
发帖数: 4120
4
$ resource is limited
you can lower your kernel debug level by number to see what happened.
if u r app dev, this is not 4 u, too deep
S*A
发帖数: 7142
5
多明显啊,当然是有神魔系统限制啦。
这也是我设计这个练习的目的啊,暴露可能遇到的
情况。
有具体的解决方案吗?
脚本,程序,或者如何改 XXX 程序就可以运行通过了。

【在 h**********c 的大作中提到】
: $ resource is limited
: you can lower your kernel debug level by number to see what happened.
: if u r app dev, this is not 4 u, too deep

S*A
发帖数: 7142
6
BTW, 这个跟 kernel debug level 没有太大关系啦。
你想如何 lower 呢?给个 command line.

【在 h**********c 的大作中提到】
: $ resource is limited
: you can lower your kernel debug level by number to see what happened.
: if u r app dev, this is not 4 u, too deep

h**********c
发帖数: 4120
7
in real scenario met this kind of problem before
there is a kernel parameter decides max file descriptor numbers allowed,
forgot which file, different distro different file.
In fact, it was our former chief scientist found the problem, not myself
though at the solution given, I almost got it.
blah blah

【在 S*A 的大作中提到】
: 多明显啊,当然是有神魔系统限制啦。
: 这也是我设计这个练习的目的啊,暴露可能遇到的
: 情况。
: 有具体的解决方案吗?
: 脚本,程序,或者如何改 XXX 程序就可以运行通过了。

h**********c
发帖数: 4120
8
you can google, but you have to reboot

【在 S*A 的大作中提到】
: BTW, 这个跟 kernel debug level 没有太大关系啦。
: 你想如何 lower 呢?给个 command line.

S*A
发帖数: 7142
9
you are getting closer.
Wow, it seems that I can be that chief scientist. Wuhaha.

【在 h**********c 的大作中提到】
: in real scenario met this kind of problem before
: there is a kernel parameter decides max file descriptor numbers allowed,
: forgot which file, different distro different file.
: In fact, it was our former chief scientist found the problem, not myself
: though at the solution given, I almost got it.
: blah blah

h**********c
发帖数: 4120
10
if you are a kernel contributor, maybe you can consider yourself.
That was a Java problem. like some horses drag a steam train.

【在 S*A 的大作中提到】
: you are getting closer.
: Wow, it seems that I can be that chief scientist. Wuhaha.

相关主题
问问跟Linux Kernel Programming 有关的问题UNIX DATAGRAM 类型socket最大报文长度多少?
How to get local hostname under linux?一个socket中select函数的问题
有没有人在Vista下试过UDP广播问一个Linux无法监听指定端口的问题
进入Programming版参与讨论
S*A
发帖数: 7142
11
考,这个问题我知道如何解决啦。但是我说了就没有意思啦。
要不你 google 然后实验一下确认方案可行造福大家?

【在 h**********c 的大作中提到】
: you can google, but you have to reboot
h**********c
发帖数: 4120
12
this is not a way of talking.
For me I know how to do it, but it is not related to my job.
namely, nobody pay me to do that.
like thesis supervisor, give you a guideline. we have to do all ourself.
science is the spirit and joy of exploring and discovering
S*A
发帖数: 7142
13

OK. I understand. You can skip it. Any body else want to give
it a try?

【在 h**********c 的大作中提到】
: this is not a way of talking.
: For me I know how to do it, but it is not related to my job.
: namely, nobody pay me to do that.
: like thesis supervisor, give you a guideline. we have to do all ourself.
: science is the spirit and joy of exploring and discovering

g*****g
发帖数: 34805
14
ephemeral port range 要改,别的还真没记得有啥特别的。也没准 VM 本来就设好了
。你这个像是 file descriptor的问题,一狗应该能找到。

【在 S*A 的大作中提到】
: 注意神魔都不改的话,程序失败在 1024。
: 所以你的 5 万连接要解决同样的问题。你能给出 5 万的解决办法吗?
: 对这个问题,可以解决 5 万同样方法应该可以用在 10M 上。

j*a
发帖数: 14423
15
ulimit -a

【在 S*A 的大作中提到】
: 我觉得大家讨论很热情,
: 我们来做点练习吧,不要光说不练。
: 下面这个程序是暴露一些写 C10M 可能碰到的问题,
: 看看大家有没有神魔解决方法。如果有,请贴程序或者
: 脚本,方便他人重复实验.
: 如果实在没有人贴答案,我也可以公布我自己的。
: #include
: #include
: #include
: #include

b********e
发帖数: 595
16
lOL
S*A
发帖数: 7142
17

这个当然是 file descriptor 问题,多明白啊,出错信息写着那。
我是想提倡大家多动手练一下,而不是光出主意纸上谈兵。
放狗是能找到些信息,但是要解决具体的问题,狗就不一定找得到了
可以直接应用上去的东西。 或者你可能找到了你认为满意的方案,
但是放上去程序一跑没有用呢? 所以直到这个程序可以真的打开
10M 的文件,这个问题还没有真正解决。其他的都是说法而已。
我想提倡少说多做。怎麼样,程序我都给好了,实验一下很困难吗?
不试又如何知道呢? 期待给出干货的同学。
这样吧,第一个可以让这个程序跑的同学我给 10 个包子。

【在 g*****g 的大作中提到】
: ephemeral port range 要改,别的还真没记得有啥特别的。也没准 VM 本来就设好了
: 。你这个像是 file descriptor的问题,一狗应该能找到。

S*A
发帖数: 7142
18
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 62122
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
然后呢,如何改?

【在 j*a 的大作中提到】
: ulimit -a
j*a
发帖数: 14423
19
open files是1024,stdin/stdout/stderr占了仨
我这里user只能上2000,root可以上1024*1024
再多估计得fork了

【在 S*A 的大作中提到】
: $ ulimit -a
: core file size (blocks, -c) 0
: data seg size (kbytes, -d) unlimited
: scheduling priority (-e) 0
: file size (blocks, -f) unlimited
: pending signals (-i) 62122
: max locked memory (kbytes, -l) 64
: max memory size (kbytes, -m) unlimited
: open files (-n) 1024
: pipe size (512 bytes, -p) 8

S*A
发帖数: 7142
20

对。 关键就是如何改。
fork 没用。

【在 j*a 的大作中提到】
: open files是1024,stdin/stdout/stderr占了仨
: 我这里user只能上2000,root可以上1024*1024
: 再多估计得fork了

相关主题
用stl的程序一般比不用stl library的size大多少?Comments about OOM killer, for fun only :)
effective C++里的memory pool 一问:问一个machine learning/SVM 问题
why do we still use dynamic allocation?C++ delete
进入Programming版参与讨论
l*********s
发帖数: 5409
21
root can set limit up to 1M, but it still crashes/hangs because of the
resource limit.
b*******s
发帖数: 5216
22
嗯,我在186000这个数量左右时崩溃了
设置到了1024000
估计是/proc/sys/fs/file-max这个限制
在我机器上是191449
一试果然,但是没到运行完系统就崩了
马上看看日志是怎么回事

【在 l*********s 的大作中提到】
: root can set limit up to 1M, but it still crashes/hangs because of the
: resource limit.

b*******s
发帖数: 5216
23
应该和内存有关,我在vm里面跑的,这个vm的内存是2g
马上读一下源代码

【在 j*a 的大作中提到】
: open files是1024,stdin/stdout/stderr占了仨
: 我这里user只能上2000,root可以上1024*1024
: 再多估计得fork了

j*a
发帖数: 14423
24
内存不够系统崩掉了,我的也是vm有1g内存。
当时还能ping得到,sshd没死22端口好的但是不work,journalctl显示很多进程被杀了
我猜是内存枯竭所以sshd也spawn不了了,但是kernel杀了我其它n多进程x/terminal
什么的却留着测试的a.out,这样不太应该啊
另外24g内存的机器上是这样的,10m一台机器并发不容易啊
cat /proc/sys/fs/file-max
2413198

【在 b*******s 的大作中提到】
: 应该和内存有关,我在vm里面跑的,这个vm的内存是2g
: 马上读一下源代码

b*******s
发帖数: 5216
25
449 /*
450 * One file with associated inode and dcache is very roughly 1K.
451 * Per default don't use more than 10% of our memory for files.
452 */
453
454 n = (mempages * (PAGE_SIZE / 1024)) / 10;
455 files_stat.max_files = n;
456 if (files_stat.max_files < NR_FILE)
457 files_stat.max_files = NR_FILE;
应该就这段代码是计算max_file的
2.6.32.61 kernel的代码
b*******s
发帖数: 5216
26
100G内存说不定能撑住

【在 j*a 的大作中提到】
: 内存不够系统崩掉了,我的也是vm有1g内存。
: 当时还能ping得到,sshd没死22端口好的但是不work,journalctl显示很多进程被杀了
: 我猜是内存枯竭所以sshd也spawn不了了,但是kernel杀了我其它n多进程x/terminal
: 什么的却留着测试的a.out,这样不太应该啊
: 另外24g内存的机器上是这样的,10m一台机器并发不容易啊
: cat /proc/sys/fs/file-max
: 2413198

j*a
发帖数: 14423
27
kernel: Mem-Info:
kernel: [] system_call_fastpath+0x1a/0x1f
kernel: [] ? page_fault+0x28/0x30
kernel: [] SyS_socket+0x5c/0xa0
kernel: [] sock_alloc_file+0x52/0x130
kernel: [] d_alloc_pseudo+0xe/0x20
kernel: [] __d_alloc+0x25/0x180
kernel: [] ? tcp_v4_init_sock+0x12/0x30
kernel: [] kmem_cache_alloc+0x227/0x280
kernel: [] ? inet_csk_init_xmit_timers+0x6e/0xa0
kernel: [] ? tcp_delack_timer_handler+0x200/0x200
kernel: [] ? __d_alloc+0x25/0x180
kernel: [] __slab_alloc.isra.46+0x2f4/0x5ae
kernel: [] new_slab+0x2fc/0x310
kernel: [] alloc_pages_current+0xa9/0x160
kernel: [] __alloc_pages_nodemask+0xad9/0xaf0
kernel: [] out_of_memory+0x437/0x480
kernel: [] oom_kill_process+0x206/0x390
kernel: [] ? rcu_oom_notify+0xe4/0x100
kernel: [] ? put_online_cpus+0x56/0x80
kernel: [] dump_header+0x7f/0x200
kernel: [] dump_stack+0x54/0x8d
kernel: Call Trace:
kernel: ffff88003a2bfad8 ffffffff810f3464 0000000000000000 ffff88003e459b28
kernel: ffff88003a2bfb00 ffffffff814ec48e ffff88003a2bfa90 ffffffff81062d76
kernel: 0000000000000000 ffff88003a2bfa70 ffffffff814ee4fb ffff88002fd21160
kernel: Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox
12/01/2006

【在 b*******s 的大作中提到】
: 449 /*
: 450 * One file with associated inode and dcache is very roughly 1K.
: 451 * Per default don't use more than 10% of our memory for files.
: 452 */
: 453
: 454 n = (mempages * (PAGE_SIZE / 1024)) / 10;
: 455 files_stat.max_files = n;
: 456 if (files_stat.max_files < NR_FILE)
: 457 files_stat.max_files = NR_FILE;
: 应该就这段代码是计算max_file的

j*a
发帖数: 14423
28
这还只是最基本的file-max解决了

【在 b*******s 的大作中提到】
: 100G内存说不定能撑住
b*******s
发帖数: 5216
29
应该就是这么回事了

【在 j*a 的大作中提到】
: kernel: Mem-Info:
: kernel: [] system_call_fastpath+0x1a/0x1f
: kernel: [] ? page_fault+0x28/0x30
: kernel: [] SyS_socket+0x5c/0xa0
: kernel: [] sock_alloc_file+0x52/0x130
: kernel: [] d_alloc_pseudo+0xe/0x20
: kernel: [] __d_alloc+0x25/0x180
: kernel: [] ? tcp_v4_init_sock+0x12/0x30
: kernel: [] kmem_cache_alloc+0x227/0x280
: kernel: [] ? inet_csk_init_xmit_timers+0x6e/0xa0

b*******s
发帖数: 5216
30
看来10M真的相当难搞,得换思路

【在 j*a 的大作中提到】
: 这还只是最基本的file-max解决了
相关主题
谁给科普一下一般系统的stack和heap内存各有多大?linux 下从c++动态内存操作问题,heap size不够还是别的?
废话少说,单机500万次每秒[合集] 请教一个Linux系统编程的问题
C10M 练习2: 空TCP 连接,1M per 4G RAMC10M除了socket以外,还牵涉其他方面的技巧
进入Programming版参与讨论
b*******s
发帖数: 5216
31
和default的都是吻合的

【在 b*******s 的大作中提到】
: 449 /*
: 450 * One file with associated inode and dcache is very roughly 1K.
: 451 * Per default don't use more than 10% of our memory for files.
: 452 */
: 453
: 454 n = (mempages * (PAGE_SIZE / 1024)) / 10;
: 455 files_stat.max_files = n;
: 456 if (files_stat.max_files < NR_FILE)
: 457 files_stat.max_files = NR_FILE;
: 应该就这段代码是计算max_file的

j*a
发帖数: 14423
32
最前面得用load balancer顶着?
换udp?
rawsocket?

【在 b*******s 的大作中提到】
: 看来10M真的相当难搞,得换思路
p*****w
发帖数: 429
33
en, 估计你们机器也不行,看看人家卖19B的机器,24core 100GB ram, 2m
connections per server.

杀了
terminal

【在 b*******s 的大作中提到】
: 100G内存说不定能撑住
b*******s
发帖数: 5216
34
我们实验室里有两台12cores,64GB的

【在 p*****w 的大作中提到】
: en, 估计你们机器也不行,看看人家卖19B的机器,24core 100GB ram, 2m
: connections per server.
:
: 杀了
: terminal

b********e
发帖数: 595
35

看我原帖里贴的link:
http://blog.lifeibo.com/blog/2011/07/07/200-long-connection.htm
转:
3. 由于客户端与服务端需要建立大量的socket,所以我们需要调速一下最大文件描述
符。
客户端,需要创建六万多个socket,我设置最大为十万好了,的在/etc/security/
limits.conf中添加:
admin soft nofile 100000
admin hard nofile 100000
服务端,需要创建200万连接,那我想设置nofile为200万,好,问题来了。
当我设置nofile为200万时,系统直接无法登陆了。尝试几次,发现最大只能设置到100
万。在查过源码后,才知道,原来在2.6.25内核之前有个宏定义,定义了这个值的最大
值,为1024*1024,正好是100万,而在2.6.25内核及其之后,这个值是可以通过/proc/
sys/fs/nr_open来设置。于是我升级内核到2.6.32。ulimit详细介绍见博文:老生常谈
升级内核后,继续我们的调优,如下:
sudo bash -c 'echo 2000000 > /proc/sys/fs/nr_open'

【在 b*******s 的大作中提到】
: 和default的都是吻合的
b********e
发帖数: 595
36

run dmesg command, looks like oom killer ?

【在 j*a 的大作中提到】
: kernel: Mem-Info:
: kernel: [] system_call_fastpath+0x1a/0x1f
: kernel: [] ? page_fault+0x28/0x30
: kernel: [] SyS_socket+0x5c/0xa0
: kernel: [] sock_alloc_file+0x52/0x130
: kernel: [] d_alloc_pseudo+0xe/0x20
: kernel: [] __d_alloc+0x25/0x180
: kernel: [] ? tcp_v4_init_sock+0x12/0x30
: kernel: [] kmem_cache_alloc+0x227/0x280
: kernel: [] ? inet_csk_init_xmit_timers+0x6e/0xa0

S*A
发帖数: 7142
37
说的对级啦。
这里有三个东西要调,
fs.file-max
fs.nr_open
ulimit
其中那个 nr_open 是不太容易 google 出来的。
一般没有实际去实验的话大概找到其中的一两个。
然后真正的内存限制是要实际实验一下才能知道
上限在神魔地方。这就是为神魔我鼓励大家去
动手实验一下,看看结果和你预计的是不是一样。
我 8G 的笔记本可以跑到 2M sockets 然后就 OOM
把 X 杀掉了。倒是没有死机。所以,类推的话 10M
sockets 需要 差不多 40G 才能跑。这个还仅仅是
file descriptor,没有 tcp 连接。
在这以前参与实验的都给发包子。

【在 b********e 的大作中提到】
:
: run dmesg command, looks like oom killer ?

S*A
发帖数: 7142
38

这个是因为 OOM killer 是看程序使用内存的大小,就是用户 VMA 加起来
有多大。你的 a.out 用户空间的内存并不大,非常小,但是占用的核心
资源非常多。OOM killer 并不能看出 kernel 的内存是那个程序造成
的,像文件系统这些是共享的,没法数清,所以把大户 X 什么的给误
杀掉了。

【在 j*a 的大作中提到】
: 内存不够系统崩掉了,我的也是vm有1g内存。
: 当时还能ping得到,sshd没死22端口好的但是不work,journalctl显示很多进程被杀了
: 我猜是内存枯竭所以sshd也spawn不了了,但是kernel杀了我其它n多进程x/terminal
: 什么的却留着测试的a.out,这样不太应该啊
: 另外24g内存的机器上是这样的,10m一台机器并发不容易啊
: cat /proc/sys/fs/file-max
: 2413198

d****i
发帖数: 4809
39
大赞强贴,请问具体是那个文件定义了那个宏?

【在 b********e 的大作中提到】
:
: run dmesg command, looks like oom killer ?

S*A
发帖数: 7142
40
不重要,新的 kernel 都不用那个宏了,
使用 /proc/sys/fs/nr_open
BTW, 那个宏我没有记错的话就叫 NR_OPEN.

【在 d****i 的大作中提到】
: 大赞强贴,请问具体是那个文件定义了那个宏?
相关主题
C10M除了socket以外,还牵涉其他方面的技巧How to get local hostname under linux?
does the system guarantee this? (转载)有没有人在Vista下试过UDP广播
问问跟Linux Kernel Programming 有关的问题UNIX DATAGRAM 类型socket最大报文长度多少?
进入Programming版参与讨论
d****i
发帖数: 4809
41
多谢!

【在 S*A 的大作中提到】
: 不重要,新的 kernel 都不用那个宏了,
: 使用 /proc/sys/fs/nr_open
: BTW, 那个宏我没有记错的话就叫 NR_OPEN.

q*c
发帖数: 9453
42
好像要加某个系统 limit.

【在 S*A 的大作中提到】
: 我觉得大家讨论很热情,
: 我们来做点练习吧,不要光说不练。
: 下面这个程序是暴露一些写 C10M 可能碰到的问题,
: 看看大家有没有神魔解决方法。如果有,请贴程序或者
: 脚本,方便他人重复实验.
: 如果实在没有人贴答案,我也可以公布我自己的。
: #include
: #include
: #include
: #include

d*******r
发帖数: 3299
43
请问大牛你建议用哪个版本的 Linux kernel?
我刚刚在 AWS 跑了下你的程序,准备 follow 你的 "SSA(草民) C10M 系列" :)

【在 S*A 的大作中提到】
: 不重要,新的 kernel 都不用那个宏了,
: 使用 /proc/sys/fs/nr_open
: BTW, 那个宏我没有记错的话就叫 NR_OPEN.

h**********c
发帖数: 4120
44
从我个人角度讲用pc搞企业级的项目,不是很乐观
企业级的东西不需要多媒体,甚至不需要考虑兼容一堆垃圾硬件
简化简化再简化
你如果正规一点,就上个github,也搞个code review,unit test 什么的
咱们看看市场上的低端硬件能push到什么limit
S*A
发帖数: 7142
45
大牛不感当,都说了是草民嘛,就是混口饭吃。
我用 Fedora 20。
你其实用任何 3 字头的 kernel 都可以。

【在 d*******r 的大作中提到】
: 请问大牛你建议用哪个版本的 Linux kernel?
: 我刚刚在 AWS 跑了下你的程序,准备 follow 你的 "SSA(草民) C10M 系列" :)

S*A
发帖数: 7142
46
就现在这个参与度我怕是不能指望 code review 了。
企业级的很多也就是强壮点的 PC 而已。

【在 h**********c 的大作中提到】
: 从我个人角度讲用pc搞企业级的项目,不是很乐观
: 企业级的东西不需要多媒体,甚至不需要考虑兼容一堆垃圾硬件
: 简化简化再简化
: 你如果正规一点,就上个github,也搞个code review,unit test 什么的
: 咱们看看市场上的低端硬件能push到什么limit

h**********c
发帖数: 4120
47
参与度 concerns your leadership,
since you started this topic, you should start a github
I recently bought two PCs, can be used for test.
Code review or not, I can do test/doc.
Good committers should get community reference eg. linked etc.
企业级 at least less broken rate.
Some time h/w could make big problem.
e.g. a bad nic sent mal-formed frames, only half a year later it was
detected it is this problem.

【在 S*A 的大作中提到】
: 就现在这个参与度我怕是不能指望 code review 了。
: 企业级的很多也就是强壮点的 PC 而已。

d*******r
发帖数: 3299
48
我觉得只要真能折腾出能用的 package/lib, 肯定能火的,有机会的话我也参加一个
不能用之前,我觉得大家就看热闹了,
如果能demo能用了,代码base还小,逻辑简单,dependency 少易于安装,就可能火了。
现在 large concurrent connections, high-scalability 的 message server 这些东
西, 大家都很需要。

【在 S*A 的大作中提到】
: 就现在这个参与度我怕是不能指望 code review 了。
: 企业级的很多也就是强壮点的 PC 而已。

1 (共1页)
进入Programming版参与讨论
相关主题
问一个machine learning/SVM 问题does the system guarantee this? (转载)
C++ delete问问跟Linux Kernel Programming 有关的问题
谁给科普一下一般系统的stack和heap内存各有多大?How to get local hostname under linux?
废话少说,单机500万次每秒有没有人在Vista下试过UDP广播
C10M 练习2: 空TCP 连接,1M per 4G RAMUNIX DATAGRAM 类型socket最大报文长度多少?
linux 下从c++动态内存操作问题,heap size不够还是别的?一个socket中select函数的问题
[合集] 请教一个Linux系统编程的问题问一个Linux无法监听指定端口的问题
C10M除了socket以外,还牵涉其他方面的技巧用stl的程序一般比不用stl library的size大多少?
相关话题的讨论汇总
话题: kernel话题: 1024话题: file话题: alloc话题: files