Comment 2 for bug 422138

Revision history for this message
Joe McDonagh (joseph-e-mcdonagh) wrote :

Hey Chuck, thanks for the response. The command is:

ab -n 2000000 -c 100 -f TLS11 https://webserver/

At ten seconds:

30253 www-data 20 0 254m 75m 4432 S 31 0.5 0:03.50 apache2
30252 www-data 20 0 251m 72m 4464 S 30 0.4 0:03.34 apache2
30250 www-data 20 0 250m 70m 4420 S 29 0.4 0:03.26 apache2
30251 www-data 20 0 250m 70m 4448 S 29 0.4 0:03.28 apache2
30249 www-data 20 0 249m 70m 4444 S 28 0.4 0:03.20 apache2
30331 www-data 20 0 244m 65m 4404 R 30 0.4 0:02.96 apache2
30369 www-data 20 0 233m 53m 4432 R 24 0.3 0:02.36 apache2
30410 www-data 20 0 231m 51m 4348 S 22 0.3 0:02.18 apache2
30458 www-data 20 0 224m 45m 4372 S 19 0.3 0:01.86 apache2
30506 www-data 20 0 217m 38m 4324 R 15 0.2 0:01.50 apache2
30557 www-data 20 0 212m 32m 4356 R 12 0.2 0:01.20 apache2
30620 www-data 20 0 207m 27m 4356 S 9 0.2 0:00.92 apache2

This is a significant jump in memory allocation, and children get spawned. I expect the children per my configuration, but the memory use is obscene. At three minutes (stopped ab at this point)

30253 www-data 20 0 366m 187m 4636 S 3 1.2 0:09.52 apache2
30252 www-data 20 0 364m 185m 4656 S 3 1.2 0:09.46 apache2
30251 www-data 20 0 363m 184m 4668 S 3 1.1 0:09.40 apache2
30250 www-data 20 0 361m 182m 4632 S 3 1.1 0:09.30 apache2
30249 www-data 20 0 359m 179m 4676 S 3 1.1 0:09.14 apache2
30331 www-data 20 0 355m 176m 4668 S 3 1.1 0:08.94 apache2
30369 www-data 20 0 343m 164m 4636 S 3 1.0 0:08.34 apache2
30410 www-data 20 0 343m 163m 4628 S 3 1.0 0:08.26 apache2
30458 www-data 20 0 337m 158m 4684 S 3 1.0 0:07.96 apache2
30557 www-data 20 0 320m 141m 4608 R 3 0.9 0:07.08 apache2
30620 www-data 20 0 320m 140m 4676 S 3 0.9 0:07.06 apache2
30675 www-data 20 0 315m 135m 4620 S 3 0.8 0:06.74 apache2
30731 www-data 20 0 311m 131m 4624 S 3 0.8 0:06.54 apache2
30841 www-data 20 0 300m 121m 4656 S 3 0.8 0:05.96 apache2
30901 www-data 20 0 295m 116m 4608 S 3 0.7 0:05.70 apache2
30957 www-data 20 0 294m 114m 4624 S 3 0.7 0:05.62 apache2

Now ab is not running, but my stopwatch program is. Now at 5 minutes:

30458 www-data 20 0 341m 162m 4692 S 0 1.0 0:08.16 apache2
31126 www-data 20 0 290m 111m 4596 S 0 0.7 0:05.42 apache2
31112 www-data 20 0 288m 109m 4604 S 0 0.7 0:05.30 apache2
31210 www-data 20 0 287m 108m 4612 S 0 0.7 0:05.24 apache2
31257 www-data 20 0 287m 107m 4600 S 0 0.7 0:05.24 apache2
31222 www-data 20 0 286m 107m 4636 S 0 0.7 0:05.20 apache2
31410 www-data 20 0 285m 105m 4588 S 0 0.7 0:05.10 apache2
31412 www-data 20 0 284m 105m 4656 S 0 0.7 0:05.12 apache2
31396 www-data 20 0 284m 105m 4632 S 0 0.7 0:05.12 apache2

Note that although some threads do disappear (normal, expect) the ones that stay never free up any RAM. If I were to let this just chill by itself for a few days, res would be a gig or so and virt would be up there.

And for good measure, ten minutes:

30458 www-data 20 0 341m 162m 4692 S 0 1.0 0:08.22 apache2
31126 www-data 20 0 291m 111m 4604 S 0 0.7 0:05.48 apache2
31112 www-data 20 0 290m 110m 4620 S 0 0.7 0:05.42 apache2
31222 www-data 20 0 288m 109m 4652 S 0 0.7 0:05.34 apache2
31210 www-data 20 0 288m 109m 4616 S 0 0.7 0:05.36 apache2
31257 www-data 20 0 287m 108m 4604 S 0 0.7 0:05.30 apache2
31410 www-data 20 0 286m 107m 4604 S 0 0.7 0:05.22 apache2
31396 www-data 20 0 286m 106m 4636 S 0 0.7 0:05.24 apache2
31384 www-data 20 0 286m 106m 4616 S 0 0.7 0:05.22 apache2
31412 www-data 20 0 285m 106m 4660 S 0 0.7 0:05.18 apache2

The server isn't being used much right now, but as you can see, no memory has really been free'd. Right now I am working around this by reloading apache at 11:59 every night (the saddest cron job on earth), which appears to bring memory usage back down.