ShadowsocksR-Live / shadowsocksr-native

翻墙 从容穿越党国敏感日 ShadowsocksR (SSRoT) native implementation for all platforms, GFW terminator
https://github.com/ShadowsocksR-Live/shadowsocksr-native/wiki
GNU General Public License v3.0
2.74k stars 765 forks source link

被OOM杀死,内存溢出? #163

Closed YaoFei509 closed 3 years ago

YaoFei509 commented 3 years ago

跑在Vultr的VPS上,无论是用你这里编译号的linux-x64版还是从git clone下来最新版,跑几分钟就断线了。VPS上dmesg看到这个:

实验了Fedora 32和Ubuntu 20.04的VPS,都一样。下面这些是Ubuntu上的。

[  417.016905] ssr-server invoked oom-killer: gfp_mask=0x100dca(GFP_HIGHUSER_MOVABLE|__GFP_ZERO), order=0, oom_score_adj=0
[  417.016909] CPU: 0 PID: 605 Comm: ssr-server Not tainted 5.4.0-47-generic #51-Ubuntu
[  417.016910] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014
[  417.016910] Call Trace:
[  417.016919]  dump_stack+0x6d/0x9a
[  417.016922]  dump_header+0x4f/0x1eb
[  417.016923]  oom_kill_process.cold+0xb/0x10
[  417.016924]  out_of_memory.part.0+0x1df/0x3d0
[  417.016926]  out_of_memory+0x6d/0xd0
[  417.016929]  __alloc_pages_slowpath+0xd5e/0xe50
[  417.016932]  __alloc_pages_nodemask+0x2d0/0x320
[  417.016935]  alloc_pages_vma+0x7f/0x200
[  417.016941]  do_anonymous_page+0x118/0x650
[  417.016944]  __handle_mm_fault+0x760/0x7a0
[  417.016946]  handle_mm_fault+0xca/0x200
[  417.016951]  do_user_addr_fault+0x1f9/0x450
[  417.016953]  __do_page_fault+0x58/0x90
[  417.016956]  do_page_fault+0x2c/0xe0
[  417.016960]  do_async_page_fault+0x39/0x70
[  417.016964]  async_page_fault+0x34/0x40
[  417.016967] RIP: 0033:0x7fea549934fa
[  417.016970] Code: ac 16 15 00 49 8d 0c 28 48 29 e8 48 83 ce 04 48 39 d3 48 89 4b 60 48 0f 45 ee 48 83 c8 01 49 83 c0 10 48 83 cd 01 49 89 68 f8 <48> 89 41 08 48 83 c4 48 4c 89 c0 5b 5d 41 5c 41 5d 41 5e 41 5f c3
[  417.016971] RSP: 002b:00007ffc871e2c10 EFLAGS: 00010206
[  417.016973] RAX: 0000000000020cd1 RBX: 00007fea54ae4b80 RCX: 0000561232338330
[  417.016974] RDX: 00007fea54ae4b80 RSI: 0000000000010124 RDI: 0000000000000001
[  417.016975] RBP: 0000000000010121 R08: 0000561232328220 R09: 00005612001cd140
[  417.016976] R10: 0000561232338000 R11: fffffffffffff000 R12: 0000000000030df1
[  417.016977] R13: 0000000000021000 R14: 0000561232328210 R15: 0000000000010140
[  417.016979] Mem-Info:
[  417.016984] active_anon:216055 inactive_anon:451 isolated_anon:0
                active_file:48 inactive_file:71 isolated_file:2
                unevictable:4629 dirty:0 writeback:0 unstable:0
                slab_reclaimable:4114 slab_unreclaimable:7116
                mapped:2142 shmem:547 pagetables:765 bounce:0
                free:12088 free_pcp:148 free_cma:0
[  417.016987] Node 0 active_anon:864220kB inactive_anon:1804kB active_file:192kB inactive_file:284kB unevictable:18516kB isolated(anon):0kB isolated(file):8kB mapped:8568kB dirty:0kB writeback:0kB shmem:2188kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 0kB writeback_tmp:0kB unstable:0kB all_unreclaimable? no
[  417.016988] Node 0 DMA free:4300kB min:780kB low:972kB high:1164kB active_anon:11552kB inactive_anon:0kB active_file:0kB inactive_file:4kB unevictable:0kB writepending:0kB present:15992kB managed:15908kB mlocked:0kB kernel_stack:0kB pagetables:28kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[  417.016991] lowmem_reserve[]: 0 880 880 880 880
[  417.016993] Node 0 DMA32 free:44052kB min:44272kB low:55340kB high:66408kB active_anon:852668kB inactive_anon:1804kB active_file:192kB inactive_file:284kB unevictable:18516kB writepending:0kB present:1032048kB managed:988860kB mlocked:18516kB kernel_stack:1760kB pagetables:3032kB bounce:0kB free_pcp:592kB local_pcp:592kB free_cma:0kB
[  417.016996] lowmem_reserve[]: 0 0 0 0 0
[  417.016998] Node 0 DMA: 1*4kB (U) 1*8kB (M) 0*16kB 2*32kB (U) 4*64kB (UM) 3*128kB (UM) 2*256kB (U) 2*512kB (UM) 0*1024kB 1*2048kB (M) 0*4096kB = 4300kB
[  417.017004] Node 0 DMA32: 461*4kB (UMEH) 382*8kB (UMEH) 195*16kB (UMEH) 148*32kB (UMEH) 53*64kB (UME) 26*128kB (UME) 2*256kB (ME) 1*512kB (E) 1*1024kB (E) 11*2048kB (UM) 0*4096kB = 44052kB
[  417.017013] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[  417.017017] 2723 total pagecache pages
[  417.017018] 0 pages in swap cache
[  417.017019] Swap cache stats: add 0, delete 0, find 0/0
[  417.017019] Free swap  = 0kB
[  417.017020] Total swap = 0kB
[  417.017021] 262010 pages RAM
[  417.017021] 0 pages HighMem/MovableOnly
[  417.017022] 10818 pages reserved
[  417.017022] 0 pages cma reserved
[  417.017023] 0 pages hwpoisoned
[  417.017024] Tasks state (memory values in pages):
[  417.017024] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes swapents oom_score_adj name
[  417.017029] [    315]     0   315    10862     1030   106496        0          -250 systemd-journal
[  417.017031] [    332]     0   332      622      143    45056        0             0 none
[  417.017033] [    370]     0   370     5286      826    61440        0         -1000 systemd-udevd
[  417.017036] [    397]   109   397     6687      918    77824        0             0 systemd-network
[  417.017038] [    503]     0   503    70047     4495    94208        0         -1000 multipathd
[  417.017040] [    524]   110   524     6013     1540    81920        0             0 systemd-resolve
[  417.017043] [    525]   111   525    22599      701    77824        0             0 systemd-timesyn
[  417.017045] [    540]     0   540    59616      844   102400        0             0 accounts-daemon
[  417.017046] [    541]   100   541     1863      906    49152        0          -900 dbus-daemon
[  417.017048] [    553]     0   553     7982     2706    94208        0             0 networkd-dispat
[  417.017050] [    554]   101   554    56076      933    77824        0             0 rsyslogd
[  417.017052] [    556]     0   556     4203      745    73728        0             0 systemd-logind
[  417.017054] [    577]     0   577     2430      541    61440        0             0 cron
[  417.017056] [    590]     0   590      948      509    40960        0             0 atd
[  417.017058] [    592]     0   592     3042      952    61440        0         -1000 sshd
[  417.017059] [    605]     0   605   280210   206007  1732608        0             0 ssr-server
[  417.017061] [    622]     0   622    58417     1014    90112        0             0 polkitd
[  417.017063] [    631]     0   631     2184      365    49152        0             0 agetty
[  417.017065] [    633]     0   633    27687     2733   110592        0             0 unattended-upgr
[  417.017067] [    712]     0   712     5286      613    53248        0             0 systemd-udevd
[  417.017068] [    713]     0   713     5286      613    53248        0             0 systemd-udevd
[  417.017069] [    714]     0   714     5286      613    53248        0             0 systemd-udevd
[  417.017071] [    715]     0   715     5286      613    53248        0             0 systemd-udevd
[  417.017072] [    716]     0   716     5286      613    53248        0             0 systemd-udevd
[  417.017074] [    717]     0   717     5286      613    53248        0             0 systemd-udevd
[  417.017076] [    718]     0   718     5286      613    53248        0             0 systemd-udevd
[  417.017077] [    719]     0   719     5286      613    53248        0             0 systemd-udevd
[  417.017078] [    720]     0   720     5286      613    53248        0             0 systemd-udevd
[  417.017080] [    721]     0   721     5286      613    53248        0             0 systemd-udevd
[  417.017081] [    722]  1000   722     4600     1099    77824        0             0 systemd
[  417.017083] [    723]  1000   723    25799      790    90112        0             0 (sd-pam)
[  417.017084] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/system.slice/ssr-native.service,task=ssr-server,pid=605,uid=0
[  417.017108] Out of memory: Killed process 605 (ssr-server) total-vm:1120840kB, anon-rss:822232kB, file-rss:1796kB, shmem-rss:0kB, UID:0 pgtables:1692kB oom_score_adj:0
[  417.087837] oom_reaper: reaped process 605 (ssr-server), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
YaoFei509 commented 3 years ago

开了台2G内存的VPS还是一样。不管那么多了,先在ssr-native.service 里添加 Restart=Always 对付着用了。

ssrlive commented 3 years ago

把你的配置文件贴出来吧,现在有时间调试了。

YaoFei509 commented 3 years ago

config.json:

{
    "password": "abcd1234",
    "method": "rc4", 
    "protocol": "auth_aes128_md5",
    "protocol_param": "",
    "obfs": "tls1.2_ticket_auth",
    "obfs_param": "",

    "udp": true,
    "idle_timeout": 300,
    "connect_timeout": 6,
    "udp_timeout": 6,

    "server_settings": {
        "listen_address": "0.0.0.0",
        "listen_port": 3333
    },

    "over_tls_settings": {
        "enable": false,
        "server_domain": "goodsitesample.com",
        "path": "/yioewrkfds989832kjdsf/",
        "root_cert_file": ""
    }
}

method用过aes-256-cfb 一样的

YaoFei509 commented 3 years ago

目前的master版本(9月17日这个)编译后放到VPS上似乎一切正常了。

ssrlive commented 3 years ago

刚刚做了测试,也没发现问题,

root@us:~# valgrind /root/ssr-n/build/src/ssr-server -c ~/test.json
==255933== Memcheck, a memory error detector
==255933== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==255933== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==255933== Command: /root/ssr-n/build/src/ssr-server -c /root/test.json
==255933== 
ssr-server 2020/09/24 23:25  info  ShadowsocksR native server

ssr-server 2020/09/24 23:25  info  listen port      33330
ssr-server 2020/09/24 23:25  info  method           aes-256-cfb
ssr-server 2020/09/24 23:25  info  password         abcd1234
ssr-server 2020/09/24 23:25  info  protocol         auth_aes128_md5
ssr-server 2020/09/24 23:25  info  obfs             tls1.2_ticket_auth
ssr-server 2020/09/24 23:25  info  udp relay        no

^Cssr-server 2020/09/24 23:27  info  

ssr-server 2020/09/24 23:27  info  terminated.

==255933== 
==255933== HEAP SUMMARY:
==255933==     in use at exit: 0 bytes in 0 blocks
==255933==   total heap usage: 1,669 allocs, 1,669 frees, 2,815,504 bytes allocated
==255933== 
==255933== All heap blocks were freed -- no leaks are possible
==255933== 
==255933== For lists of detected and suppressed errors, rerun with: -s
==255933== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
root@us:~# 
ssrlive commented 3 years ago

因为这一贴,星星不升反降,终于知道邪教为什么有生存空间了:绝大多数人没有思辨能力,看到谁吹得玄乎,就跟谁,至于真相,没几个人关心真相或者有能力关心真相。That's all.