微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用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版本应用了“无池”补丁来帮助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)

解决方法:

在我们的在线系统中,我们不修改Nginx.conf以适应valgrind.
我们在Nginx上运行valgrind,配置master_process on和daemon on.

我们使用以下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,你应该使用以下configure参数重新编译Nginx

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐