pymumu / smartdns

A local DNS server to obtain the fastest website IP for the best Internet experience, support DoT, DoH. 一个本地DNS服务器,获取最快的网站IP,获得最佳上网体验,支持DoH,DoT。
https://pymumu.github.io/smartdns/
GNU General Public License v3.0
7.92k stars 1.05k forks source link

软路由运行4天后 Smartdns卡死崩溃 #1748

Closed mikal closed 3 weeks ago

mikal commented 4 weeks ago

问题现象
每当软路由机器重启后的第四天,即运行时间了大概4天多后,smartdns会整个卡死然后崩溃,在系统的日志输出看到的报错信息“Out of memory”,在网页界面手工点击重启Smartdns的话,它能正常工作20分钟左右又会卡死,而在软路由上的其他程序都运行正常。先谢谢了,麻烦大佬们会诊看看问题所在。

运行环境

  1. 固件型号:QWRT R23.1.20 / LuCI Master (git-20.085.19816-df13074)

  2. 运营商 :电信

  3. smartdns来源以及版本:github官网Release 43,1.2023.08.11-1937+界面包all-luci-compat-all

  4. 涉及的配置(注意去除个人相关信息) ` config smartdns option enabled '1' option server_name 'smartdns' option port '6053' option auto_set_dnsmasq '1' option tcp_server '1' option ipv6_server '1' option bind_device '1' option cache_persist '1' option resolve_local_hostnames '1' option force_https_soa '1' option seconddns_port '6553' option seconddns_tcp_server '1' option speed_check_mode 'ping,tcp:80,tcp:443' option prefetch_domain '1' option serve_expired '0' option seconddns_enabled '1' option seconddns_server_group 'us' option seconddns_no_speed_check '1' option seconddns_no_dualstack_selection '1' option seconddns_force_aaaa_soa '1' option seconddns_no_cache '1' option proxy_server 'socks5://127.0.0.1:1080' option dualstack_ip_selection '1' option enable_auto_update '1' option coredump '1' option cache_size '10000' option log_size '128K' option log_level 'debug' option log_num '2' option rr_ttl_min '1200' option old_port '6053' option old_enabled '1' option old_auto_set_dnsmasq '1'

config domain-rule option server_group 'us' option force_aaaa_soa '1' option forwarding_domain_set_file '/etc/smartdns/domain-set/gfw.txt'

config client-rule

config ip-rule

config server option enabled '1' option type 'udp' option exclude_default_group '1' option addition_arg '-bootstrap-dns' option ip '119.29.29.29' option name 'Tencent'

config server option enabled '1' option name 'Google-DOT' option ip '8.8.4.4' option type 'tls' option addition_arg '-whitelist-ip'

config server option enabled '1' option name 'cn-Ali' option server_group 'cn' option exclude_default_group '1' option ip 'dns.alidns.com' option type 'tls'

config server option enabled '1' option name 'cn-Tencent' option server_group 'cn' option exclude_default_group '1' option ip '120.53.53.53' option type 'tls'

config server option enabled '1' option ip '8.8.8.8' option type 'tls' option name 'us-g2' option server_group 'us' option exclude_default_group '1' option tls_host_verify 'dns.google'

config server option enabled '1' option type 'tls' option addition_arg '-whitelist-ip' option name 'Quad9-DoT' option ip '9.9.9.9'

config server option enabled '1' option name 'us-cf2' option server_group 'us' option exclude_default_group '1' option type 'tls' option ip 'one.one.one.one'

config download-file option type 'list' option name 'gfw.txt' option url 'https://github.com/ruijzhan/chnroute/blob/master/gfwlist.txt' option desc 'us'

config server option enabled '1' option exclude_default_group '1' option name 'CT' option ip '202.96.209.133' option type 'udp' option addition_arg '-bootstrap-dns'

config server option enabled '1' option server_group 'cn' option exclude_default_group '1' option name 'cn-Tencent2' option ip '1.12.12.12' option type 'tls'

config server option enabled '1' option name 'us-cf3' option ip '1.0.0.1' option server_group 'us' option exclude_default_group '1' option type 'tcp'

自定义配置(custom.conf)

cn组网站list

conf-file /etc/smartdns/cn.conf whitelist-ip 0.0.0.0/0

iOS系统解析缓慢

force-qtype-SOA 65

输出日志到控制台

log-console yes`

重现步骤

  1. 上游DNS配置。
    见以上的配置文件

  2. 访问的域名。
    根据所附log文件和coredump,系统发生崩溃在21:10:42秒,21:10:26~40秒之间的debug记录见log文件,跟具体的域名应该无关。

信息收集

  1. 将/var/log/smrtdns.log日志作为附件上传(注意去除个人相关信息)。
  2. 如进程异常,请将coredump功能开启,上传coredump信息文件,同时上传配套的smartdns进程文件。
    在自定义界面,开启设置->自定义设置->生成coredump配置,重现问题后提交coredump文件 coredump文件在/tmp目录下

smartdns (2).log

coredump.txt

PikuZheng commented 4 weeks ago

建议调查一下smartdns卡死时是否存在PPPoE断开重新拨号事件

pymumu commented 4 weeks ago

你设备内存太小了,缓存设置太大,调小缓存,

mikal commented 4 weeks ago

你设备内存太小了,缓存设置太大,调小缓存, 谢谢!那么我设置为5000条?

pymumu commented 4 weeks ago

默认不设置看看

mikal commented 3 weeks ago

好的,谢谢!我先设置成3000条,再观察一周看看。