SSL Handshake does not need the write buffer, let's not allocate it and save 16kB of buffers during the handshake. It will be allocated later, once the init_buf is released. The memory needed per handshake reduces from about 92kB to about 76kB. --- ./ssl/s23_srvr.c.orig 2014-11-12 17:09:54.317157155 +0100 +++ ./ssl/s23_srvr.c 2014-11-12 17:20:42.980800187 +0100 @@ -265,10 +268,10 @@ /* read the initial header */ v[0]=v[1]=0; - if (!ssl3_setup_buffers(s)) goto err; + if (!ssl3_setup_read_buffer(s)) goto err; n=ssl23_read_bytes(s, sizeof buf_space); if (n != sizeof buf_space) return(n); /* n == -1 || n == 0 */ p=s->packet;