Nginx開啟/關閉Core檔案及除錯
阿新 • • 發佈:2018-12-20
1. Nginx生成core的配置
- ulimit -a 可以檢視系統core檔案的大小限制(第一行),core檔案大小設定為0, 即沒有開啟core dump設定。
core file size (blocks, -c) 1024 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 774535 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 655360 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 10240 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
如果未開啟,則執行
ulimit -c unlimited
- 修改nginx.conf配置檔案
worker_rlimit_core 10000m;
working_directory /usr/local/nginx/logs;
2. Nginx core生成之後的除錯
gdb process core.1123
3. 如果沒生成core檔案
- 執行 dmsp|grep nginx
nginx[6802]: segfault at 41f79 ip 00000000004efef4 sp 00007ffe3ee73fe0 error 4 in lmss[400000+142000]
- 使用addr2line工具執行 addr2line -e binary 00000000004efef4 -f。其中00000000004efef4就是上面欄位ip後面的值,binary是可執行檔案, 然後就可以找到出問題的檔名和行號