用nginx运行valgrind

时间:2014-06-01 20:54:50

标签: nginx valgrind

如何针对我的nginx服务器运行valgrind?

我已经构建了两个二进制文件。在我的nginx.conf中,我(按说明指导):

worker_processes  1;
daemon off;
master_process off;

我这样跑:

sudo /usr/local/bin/valgrind -v --tool=memcheck --leak-check=yes nginx

当我运行这个时,我得到一些像下面这样的valgrind输出然后我得到一个提示。有2个valgrind进程正在运行,我的服务器不会响应“curl” - 说它无法连接到主机。相同的卷曲效果很好w / o valgrind。我需要valgrind来保持运行,因为我对nginx和我编写的模块代码(通常是nginx二进制文件)进行测试。

我还为我的nginx版本应用了“no-pool”补丁来帮助valgrind。我错过了什么?

输出:

==13809== Memcheck, a memory error detector
==13809== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==13809== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
==13809== Command: nginx
==13809== 
==13809== 
==13809== HEAP SUMMARY:
==13809==     in use at exit: 249,673 bytes in 3,511 blocks
==13809==   total heap usage: 4,419 allocs, 908 frees, 496,218 bytes allocated
==13809== 
==13809== 104 bytes in 1 blocks are possibly lost in loss record 575 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x41FDB5: ??? (in /usr/sbin/nginx)
==13809==    by 0x4184CE: ??? (in /usr/sbin/nginx)
==13809==    by 0x42FC9B: ??? (in /usr/sbin/nginx)
==13809==    by 0x42CABB: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 160 bytes in 5 blocks are possibly lost in loss record 588 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E237E: sk_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E2421: sk_dup (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A996495A4: ssl_create_cipher_list (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x3A99642EFF: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 160 bytes in 5 blocks are possibly lost in loss record 589 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E237E: sk_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642F8D: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 160 bytes in 5 blocks are possibly lost in loss record 590 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E239C: sk_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642F8D: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 280 bytes in 5 blocks are possibly lost in loss record 603 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A97323726: X509_VERIFY_PARAM_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A97320E6B: X509_STORE_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642ECC: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 280 bytes in 5 blocks are possibly lost in loss record 604 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A97323726: X509_VERIFY_PARAM_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642F24: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 304 bytes in 1 blocks are possibly lost in loss record 607 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x41FDB5: ??? (in /usr/sbin/nginx)
==13809==    by 0x4184B4: ??? (in /usr/sbin/nginx)
==13809==    by 0x42FC9B: ??? (in /usr/sbin/nginx)
==13809==    by 0x42CABB: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 640 bytes in 5 blocks are possibly lost in loss record 618 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E2A71: lh_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642EBA: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 720 bytes in 5 blocks are possibly lost in loss record 625 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A97320E26: X509_STORE_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642ECC: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 880 bytes in 5 blocks are possibly lost in loss record 629 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E2A4F: lh_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642EBA: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 1,480 bytes in 5 blocks are possibly lost in loss record 643 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99645CF6: ssl_cert_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x3A99642E60: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 3,040 bytes in 5 blocks are possibly lost in loss record 657 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642D68: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4173F4: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 4,096 bytes in 1 blocks are possibly lost in loss record 660 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x408564: ??? (in /usr/sbin/nginx)
==13809==    by 0x4089E8: ??? (in /usr/sbin/nginx)
==13809==    by 0x4094DE: ??? (in /usr/sbin/nginx)
==13809==    by 0x443444: ??? (in /usr/sbin/nginx)
==13809==    by 0x445B58: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C88B: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 4,096 bytes in 1 blocks are possibly lost in loss record 661 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x408564: ??? (in /usr/sbin/nginx)
==13809==    by 0x4089E8: ??? (in /usr/sbin/nginx)
==13809==    by 0x42F199: ??? (in /usr/sbin/nginx)
==13809==    by 0x416F35: ??? (in /usr/sbin/nginx)
==13809==    by 0x42EF11: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x41745A: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C8B9: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 4,280 bytes in 1 blocks are possibly lost in loss record 662 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x408564: ??? (in /usr/sbin/nginx)
==13809==    by 0x408725: ??? (in /usr/sbin/nginx)
==13809==    by 0x409E4F: ??? (in /usr/sbin/nginx)
==13809==    by 0x441838: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C88B: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 4,280 bytes in 1 blocks are possibly lost in loss record 663 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x408564: ??? (in /usr/sbin/nginx)
==13809==    by 0x408725: ??? (in /usr/sbin/nginx)
==13809==    by 0x409E65: ??? (in /usr/sbin/nginx)
==13809==    by 0x441838: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C88B: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 4,280 bytes in 1 blocks are possibly lost in loss record 664 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x408564: ??? (in /usr/sbin/nginx)
==13809==    by 0x408725: ??? (in /usr/sbin/nginx)
==13809==    by 0x409E7B: ??? (in /usr/sbin/nginx)
==13809==    by 0x441838: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C88B: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 5,056 bytes in 1 blocks are possibly lost in loss record 665 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x408564: ??? (in /usr/sbin/nginx)
==13809==    by 0x409855: ??? (in /usr/sbin/nginx)
==13809==    by 0x441565: ??? (in /usr/sbin/nginx)
==13809==    by 0x42CE6E: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 5,120 bytes in 5 blocks are possibly lost in loss record 666 of 676
==13809==    at 0x4A06C9C: realloc (vg_replace_malloc.c:687)
==13809==    by 0x3A97268BCE: CRYPTO_realloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E2317: sk_insert (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A9964952B: ssl_create_cipher_list (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x3A99642EFF: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 5,120 bytes in 5 blocks are possibly lost in loss record 667 of 676
==13809==    at 0x4A06C9C: realloc (vg_replace_malloc.c:687)
==13809==    by 0x3A97268BCE: CRYPTO_realloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E2444: sk_dup (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A996495A4: ssl_create_cipher_list (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x3A99642EFF: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 16,384 bytes in 1 blocks are possibly lost in loss record 671 of 676
==13809==    at 0x4A055DC: memalign (vg_replace_malloc.c:755)
==13809==    by 0x4A05677: posix_memalign (vg_replace_malloc.c:908)
==13809==    by 0x41FCDB: ??? (in /usr/sbin/nginx)
==13809==    by 0x4084DB: ??? (in /usr/sbin/nginx)
==13809==    by 0x4143C6: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 16,384 bytes in 1 blocks are possibly lost in loss record 672 of 676
==13809==    at 0x4A055DC: memalign (vg_replace_malloc.c:755)
==13809==    by 0x4A05677: posix_memalign (vg_replace_malloc.c:908)
==13809==    by 0x41FCDB: ??? (in /usr/sbin/nginx)
==13809==    by 0x408431: ??? (in /usr/sbin/nginx)
==13809==    by 0x4089E8: ??? (in /usr/sbin/nginx)
==13809==    by 0x4094DE: ??? (in /usr/sbin/nginx)
==13809==    by 0x4418D5: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C88B: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 16,384 bytes in 1 blocks are possibly lost in loss record 673 of 676
==13809==    at 0x4A055DC: memalign (vg_replace_malloc.c:755)
==13809==    by 0x4A05677: posix_memalign (vg_replace_malloc.c:908)
==13809==    by 0x41FCDB: ??? (in /usr/sbin/nginx)
==13809==    by 0x408431: ??? (in /usr/sbin/nginx)
==13809==    by 0x42F05D: ??? (in /usr/sbin/nginx)
==13809==    by 0x416F35: ??? (in /usr/sbin/nginx)
==13809==    by 0x42EF11: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x41745A: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C8B9: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 16,384 bytes in 1 blocks are possibly lost in loss record 674 of 676
==13809==    at 0x4A055DC: memalign (vg_replace_malloc.c:755)
==13809==    by 0x4A05677: posix_memalign (vg_replace_malloc.c:908)
==13809==    by 0x41FCDB: ??? (in /usr/sbin/nginx)
==13809==    by 0x408431: ??? (in /usr/sbin/nginx)
==13809==    by 0x408725: ??? (in /usr/sbin/nginx)
==13809==    by 0x473461: ??? (in /usr/sbin/nginx)
==13809==    by 0x433527: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4173F4: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 16,384 bytes in 1 blocks are possibly lost in loss record 675 of 676
==13809==    at 0x4A055DC: memalign (vg_replace_malloc.c:755)
==13809==    by 0x4A05677: posix_memalign (vg_replace_malloc.c:908)
==13809==    by 0x41FCDB: ??? (in /usr/sbin/nginx)
==13809==    by 0x408431: ??? (in /usr/sbin/nginx)
==13809==    by 0x408725: ??? (in /usr/sbin/nginx)
==13809==    by 0x46D861: ??? (in /usr/sbin/nginx)
==13809==    by 0x433527: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4173F4: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 16,384 bytes in 1 blocks are possibly lost in loss record 676 of 676
==13809==    at 0x4A055DC: memalign (vg_replace_malloc.c:755)
==13809==    by 0x4A05677: posix_memalign (vg_replace_malloc.c:908)
==13809==    by 0x41FCDB: ??? (in /usr/sbin/nginx)
==13809==    by 0x408431: ??? (in /usr/sbin/nginx)
==13809==    by 0x409855: ??? (in /usr/sbin/nginx)
==13809==    by 0x448DC1: ??? (in /usr/sbin/nginx)
==13809==    by 0x472A04: ??? (in /usr/sbin/nginx)
==13809==    by 0x42CABB: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== LEAK SUMMARY:
==13809==    definitely lost: 0 bytes in 0 blocks
==13809==    indirectly lost: 0 bytes in 0 blocks
==13809==      possibly lost: 144,328 bytes in 120 blocks
==13809==    still reachable: 105,345 bytes in 3,391 blocks
==13809==         suppressed: 0 bytes in 0 blocks
==13809== Reachable blocks (those to which a pointer was found) are not shown.
==13809== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==13809== 
==13809== For counts of detected and suppressed errors, rerun with: -v
==13809== ERROR SUMMARY: 36 errors from 36 contexts (suppressed: 4 from 4)

1 个答案:

答案 0 :(得分:2)

在我们的在线系统上,我们不修改nginx.conf以适应valgrind。 我们在nginx上使用configure master_process ondaemon on运行valgrind。

我们使用以下valgrind命令:

 valgrind --trace-children=yes --log-file=memcheck.log --tool=memcheck --leak-check=full sbin/nginx

--trace-children=yes选项对跟踪nginx工作进程很有用 --log-file=memcheck.log选项将使valgrind将其所有消息发送到memcheck.log。

BTW,valgrind让nginx运行缓慢,这使得很难提供高流量 所以我们更喜欢使用clang address sanitiner来检查内存错误。

使用clang address sanitiner,您应该使用以下配置参数重新编译nginx:

CC=clang ./configure \
  --with-cc-opt="-O1 -g -fsanitize=address -fno-omit-frame-pointer" \
  --with-ld-opt="-g -fsanitize=address"