{"id":1525,"date":"2024-05-08T13:44:22","date_gmt":"2024-05-08T05:44:22","guid":{"rendered":"http:\/\/oneai.eu.org\/?p=1525"},"modified":"2024-05-08T13:44:22","modified_gmt":"2024-05-08T05:44:22","slug":"%e7%b3%bb%e7%bb%9f%e5%86%85%e5%ad%98%e4%b8%8d%e5%a4%9f%ef%bc%8c%e7%a8%8b%e5%ba%8f%e8%a2%abkill%e5%ae%9e%e4%be%8b%e5%88%86%e6%9e%90","status":"publish","type":"post","link":"https:\/\/oneai.eu.org\/?p=1525","title":{"rendered":"\u7cfb\u7edf\u5185\u5b58\u4e0d\u591f\uff0c\u7a0b\u5e8f\u88abkill\u5b9e\u4f8b\u5206\u6790"},"content":{"rendered":"<p>\u5185\u5b58overcommit<\/p>\n<p>Linux\u5bf9\u5927\u90e8\u5206\u7533\u8bf7\u5185\u5b58\u7684\u8bf7\u6c42\u90fd\u56de\u590d&quot;yes&quot;\uff0c\u4ee5\u4fbf\u80fd\u8dd1\u66f4\u591a\u66f4\u5927\u7684\u7a0b\u5e8f\u3002\u56e0\u4e3a\u7533\u8bf7\u5185\u5b58\u540e\uff0c\u5e76\u4e0d\u4f1a\u9a6c\u4e0a\u4f7f\u7528\u5185\u5b58\u3002\u8fd9\u79cd\u6280\u672f\u53eb\u505aOvercommit\u3002<\/p>\n<p>vm.overcommit_memory\u8fd9\u4e2a\u7cfb\u7edf\u53c2\u6570\u662f\u7528\u6765\u8bbe\u7f6e\u5185\u5b58\u5206\u914d\u7b56\u7565\u7684\uff0c\u5b83\u6709\u4e09\u4e2a\u53ef\u9009\u503c\uff1a<\/p>\n<p>vm.overcommit_memory        \u542b\u4e49<br \/>\n0<br \/>\n\u8868\u793a\u5185\u6838\u5c06\u68c0\u67e5\u662f\u5426\u6709\u8db3\u591f\u7684\u53ef\u7528\u5185\u5b58\u4f9b\u5e94\u7528\u8fdb\u7a0b\u4f7f\u7528\uff1b\u5982\u679c\u6709\u8db3\u591f\u7684\u53ef\u7528\u5185\u5b58\uff0c\u5185\u5b58\u7533\u8bf7\u5141\u8bb8\uff1b\u5426\u5219\uff0c\u5185\u5b58\u7533\u8bf7\u5931\u8d25\uff0c\u5e76\u628a\u9519\u8bef\u8fd4\u56de\u7ed9\u5e94\u7528\u8fdb\u7a0b\u3002<\/p>\n<p>1<br \/>\n\u8868\u793a\u5185\u6838\u5141\u8bb8\u5206\u914d\u6240\u6709\u7684\u53ef\u7528\u5185\u5b58\uff0c\u800c\u4e0d\u7ba1\u5f53\u524d\u7684\u5185\u5b58\u72b6\u6001\u5982\u4f55\u3002<\/p>\n<p>2<br \/>\n\u8868\u793a\u5185\u6838\u5141\u8bb8\u5206\u914d\u8d85\u8fc7\u6240\u6709\u7269\u7406\u5185\u5b58\u548c\u4ea4\u6362\u7a7a\u95f4\u603b\u548c\u7684\u5185\u5b58<\/p>\n<p>OOM killer\u4e0e\u5185\u5b58overcommit\uff1a\u4e24\u8005\u662f\u76f8\u4e92\u4f5c\u7528\u7684\uff1a<\/p>\n<p>\u5bf9\u4e8e\u4e00\u53f016G\u7684Linux\u670d\u52a1\u5668\u3002<\/p>\n<p>\u5982\u679c\u4f7f\u7528overcommit_memory=0\uff0c\u5982\u679c\u6ca1\u6709\u6ca1\u6709\u8db3\u591f\u7684\u5185\u5b58\u5206\u914d\uff0c\u90a3\u4e48\u5e94\u7528\u60f3\u5206\u914d\u5185\u5b58\u5c31\u4f1a\u5931\u8d25\u3002<\/p>\n<p>\u5982\u679c\u4f7f\u7528overcommit_memory&gt;0\uff0c\u6bcf\u6b21\u7684\u5e94\u7528\u5185\u5b58\u7533\u8bf7\u90fd\u4f1a\u6210\u529f\uff0c\u8fd9\u79cd\u6210\u529f\u662f\u5efa\u7acb\u5728OOM killer\u4f1a\u6740\u6389\u90e8\u5206\u8fdb\u7a0b\u6765\u5b9e\u73b0\u7684\u3002<\/p>\n<p>\u4e8c\u3001\u8bd5\u9a8c\uff1a<\/p>\n<ol>\n<li>\u73af\u5883\uff1a<\/li>\n<\/ol>\n<p>(1) \u5185\u5b58\uff1a\u6ca1\u6709\u5f00\u542fswap\uff0c\u53ef\u7528\u5185\u5b5812397M<\/p>\n<p>total       used       free     shared    buffers     cached<br \/>\nMem:         15948       3606      12342          0         10         45<br \/>\n-\/+ buffers\/cache:       3550      12397<br \/>\nSwap:            0          0          0<br \/>\n(2) overcommit_memory\u5f53\u524d\u662f0<\/p>\n<p>cat \/proc\/sys\/vm\/overcommit_memory<br \/>\n0<\/p>\n<ol start=\"2\">\n<li>\u5f00\u542f\u5e94\u7528\u5f3a\u5236\u5403\u5185\u5b58\u3002<\/li>\n<\/ol>\n<p>\u6211\u5bf9\u4e8eredis\u7a0d\u5fae\u719f\u6089\u4e00\u70b9\uff0credis-server\u6709\u4e2a\u53c2\u6570\u53eb\u505a--test-memory\uff0c\u53ef\u4ee5\u5403\u6389\u7cfb\u7edf\u7684\u5185\u5b58\uff0c\u5355\u4f4d\u662fM<\/p>\n<p>redis-server --test-memory 1024<br \/>\n(1) \u5f00\u542f\u4e00\u4e2aredis-server --test-memory 5120\uff0c\u5403\u63895G\u5185\u5b58\uff0c\u5185\u5b58\u53d8\u4e3a\uff1a<\/p>\n<p>[@zw_53_159 fl]# free -m<br \/>\ntotal       used       free     shared    buffers     cached<br \/>\nMem:         15948       8704       7243          0         10         47<br \/>\n-\/+ buffers\/cache:       8646       7301<br \/>\nSwap:            0          0          0<br \/>\n(2) \u518d\u5f00\u542f\u4e00\u4e2aredis-server --test-memory 5120\uff0c\u5403\u63895G\u5185\u5b58\uff0c\u5185\u5b58\u53d8\u4e3a\uff1a<\/p>\n<p>[@zw_53_159 fl]# free -m<br \/>\ntotal       used       free     shared    buffers     cached<br \/>\nMem:         15948      13839       2109          0         10         47<br \/>\n-\/+ buffers\/cache:      13781       2166<br \/>\nSwap:            0          0          0<br \/>\n(3) \u6b64\u65f6\u8fd8\u67092166\u53ef\u7528\u5185\u5b58\uff0c\u5982\u679c\u5728\u5f00\u542f3G\u7684Redis\u4f1a\u600e\u6837\u5462\uff1f<\/p>\n<p>[@zw_53_159 ~]# redis-server --test-memory 3072<br \/>\nUnable to allocate 3072 megabytes: Cannot allocate memory<br \/>\n\u6ca1\u6709\u8db3\u591f\u7684\u5185\u5b58\u4e86\uff1f\u4e3a\u4ec0\u4e48\u5462\uff1a<br \/>\n\u6ca1\u6709swap\u53ef\u7528<br \/>\novercommit_memory=0\uff0c\u4e0d\u4f1a\u7528overcommit\u673a\u5236\u3002<br \/>\n(4) \u4fee\u6539overcommit_memory=1\uff0c<\/p>\n<p>echo &quot;vm.overcommit_memory = 1&quot; &gt;&gt; \/etc\/sysctl.conf<br \/>\nsysctl vm.overcommit_memory=1<br \/>\n(a) \u5f53\u524d\u7cfb\u7edf\u53ea\u6709\u4e00\u4e9bRedis\u8fdb\u7a0b\uff1a<\/p>\n<p>root     26738 21729 99 15:03 pts\/5    00:06:10 redis-server --test-memory 5120<br \/>\nroot     26910 22005 99 15:04 pts\/7    00:05:34 redis-server --test-memory 5120<br \/>\n(b) \u89c2\u5bdfOOM killer\u65e5\u5fd7\uff1a<\/p>\n<p>tail -f \/var\/log\/messages\uff08\u6709\u4e9b\u7cfb\u7edf\u8981\u7528dmesg\u547d\u4ee4\u770b \u4f8b\uff1admesg|grep 'Out of memory'\uff09<br \/>\n\u7ee7\u7eed\u5f00\u542f3G\u7684Redis: \u5f00\u542f\u6210\u529f\uff0c\u4f46\u662fOOM\u628a\u4e4b\u524d\u4e00\u4e2aredis-server\u7ed9kill\u6389\u4e86\uff0c\u4ece\u4e24\u4e2a\u65b9\u9762\u770b<\/p>\n<p>(a) \u8fdb\u7a0b\uff1a\u8fdb\u7a0b26738\u4e0d\u89c1\u4e86\u3002<\/p>\n<p>root     26910 22005 99 15:04 pts\/7    00:08:46 redis-server --test-memory 5120<br \/>\nroot     27805 21964 93 15:12 pts\/6    00:00:27 redis-server --test-memory 3072<br \/>\n(b) OOM killer\u65e5\u5fd7\uff1a\u91cc\u9762\u6d89\u53ca\u5230\u7ec6\u8282\u5f88\u591a\uff0c\u4f8b\u5982\u8ba1\u7b97\u7528\u6237\u8fdb\u7a0b\u7684\u5206\u6570\uff0c\u8fd9\u4e2a\u5206\u6570\uff08oom_score_adj\uff09\u51b3\u5b9a\u8be5\u7528\u6237\u8fdb\u7a0b\u88ab\u6740\u6389\u7684\u53ef\u80fd\u6027\uff0c<\/p>\n<p>\u6700\u540e\u7b97\u51fa\uff1aOut of memory: Kill process 26738 (redis-server) score 291 or sacrifice child  Killed process 26738, UID 0, (redis-server) total-vm:5359844kB, anon-rss:5247132kB, file-rss:16kB<\/p>\n<p>Feb 17 15:12:53 zw_53_159 kernel: redis-server invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: redis-server cpuset=\/ mems_allowed=0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Pid: 32518, comm: redis-server Not tainted 2.6.32-279.el6.x86_64 #1<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Call Trace:<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff810c4971>] ? cpuset_print_task_mems_allowed+0x91\/0xb0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff811170e0>] ? dump_header+0x90\/0x1b0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff812146fc>] ? security_real_capable_noaudit+0x3c\/0x70<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff81117562>] ? oom_kill_process+0x82\/0x2a0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff811174a1>] ? select_bad_process+0xe1\/0x120<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff811179a0>] ? out_of_memory+0x220\/0x3c0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff811276be>] ? <strong>alloc_pages_nodemask+0x89e\/0x940<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff8115c1da>] ? alloc_pages_current+0xaa\/0x110<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff811144e7>] ? <\/strong>page_cache_alloc+0x87\/0x90<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff8112a10b>] ? <strong>do_page_cache_readahead+0xdb\/0x210<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff8112a261>] ? ra_submit+0x21\/0x30<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff81115813>] ? filemap_fault+0x4c3\/0x500<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff8113ec14>] ? __do_fault+0x54\/0x510<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff8113f1c7>] ? handle_pte_fault+0xf7\/0xb50<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff8113fe04>] ? handle_mm_fault+0x1e4\/0x2b0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff81044479>] ? <\/strong>do_page_fault+0x139\/0x480<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff81039678>] ? pvclock_clocksource_read+0x58\/0xd0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff8103876c>] ? kvm_clock_read+0x1c\/0x20<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff81038779>] ? kvm_clock_get_cycles+0x9\/0x10<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff8109c9a0>] ? getnstimeofday+0x60\/0xf0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff8150326e>] ? do_page_fault+0x3e\/0xa0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [<ffffffff81500625>] ? page_fault+0x25\/0x30<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Mem-Info:<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Node 0 DMA per-cpu:<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    0: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    1: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    2: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    3: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    4: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    5: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    6: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    7: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    8: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    9: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   10: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   11: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   12: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   13: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   14: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   15: hi:    0, btch:   1 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Node 0 DMA32 per-cpu:<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    0: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    1: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    2: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    3: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    4: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    5: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    6: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    7: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    8: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    9: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   10: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   11: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   12: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   13: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   14: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   15: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Node 0 Normal per-cpu:<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    0: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    1: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    2: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    3: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    4: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    5: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    6: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    7: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    8: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU    9: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   10: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   11: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   12: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   13: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   14: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: CPU   15: hi:  186, btch:  31 usd:   0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: active_anon:3223340 inactive_anon:756981 isolated_anon:9<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: active_file:234 inactive_file:91 isolated_file:0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: unevictable:0 dirty:0 writeback:0 unstable:0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: free:33241 slab_reclaimable:2879 slab_unreclaimable:8604<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: mapped:139 shmem:55 pagetables:10616 bounce:0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Node 0 DMA free:15676kB min:60kB low:72kB high:88kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15272kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: lowmem_reserve[]: 0 3512 16137 16137<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Node 0 DMA32 free:65068kB min:14692kB low:18364kB high:22036kB active_anon:3141792kB inactive_anon:404kB active_file:48kB inactive_file:32kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:3596496kB mlocked:0kB dirty:0kB writeback:0kB mapped:80kB shmem:4kB slab_reclaimable:204kB slab_unreclaimable:48kB kernel_stack:16kB pagetables:276kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: lowmem_reserve[]: 0 0 12625 12625<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Node 0 Normal free:52220kB min:52824kB low:66028kB high:79236kB active_anon:9751568kB inactive_anon:3027520kB active_file:888kB inactive_file:332kB unevictable:0kB isolated(anon):36kB isolated(file):0kB present:12928000kB mlocked:0kB dirty:0kB writeback:0kB mapped:476kB shmem:216kB slab_reclaimable:11312kB slab_unreclaimable:34368kB kernel_stack:3472kB pagetables:42188kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:146 all_unreclaimable? no<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: lowmem_reserve[]: 0 0 0 0<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Node 0 DMA: 3<em>4kB 2<\/em>8kB 0<em>16kB 1<\/em>32kB 2<em>64kB 1<\/em>128kB 0<em>256kB 0<\/em>512kB 1<em>1024kB 1<\/em>2048kB 3<em>4096kB = 15676kB<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Node 0 DMA32: 81<\/em>4kB 73<em>8kB 64<\/em>16kB 48<em>32kB 36<\/em>64kB 31<em>128kB 29<\/em>256kB 30<em>512kB 30<\/em>1024kB 1<em>2048kB 0<\/em>4096kB = 65292kB<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Node 0 Normal: 753<em>4kB 473<\/em>8kB 314<em>16kB 216<\/em>32kB 162<em>64kB 86<\/em>128kB 31<em>256kB 10<\/em>512kB 0<em>1024kB 0<\/em>2048kB 0*4096kB = 53164kB<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: 335 total pagecache pages<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: 0 pages in swap cache<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Swap cache stats: add 53710499, delete 53710499, find 25961598\/29739317<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Free swap  = 0kB<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Total swap = 0kB<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: 4194303 pages RAM<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: 111523 pages reserved<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: 1456 pages shared<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: 4044970 pages non-shared<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ pid ]   uid  tgid total_vm      rss cpu oom_adj oom_score_adj name<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [  651]     0   651     2750      188   0     -17         -1000 udevd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1494]     0  1494     1538       27   1       0             0 portreserve<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1501]     0  1501    62992     1755   0       0             0 rsyslogd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1518]     0  1518     2763      194   0     -17         -1000 udevd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1543]     0  1543     2285       55   2       0             0 irqbalance<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1561]    32  1561     4742       58   0       0             0 rpcbind<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1746]     0  1746    19667      210   4       0             0 master<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1766]    89  1766    19729      213   0       0             0 qmgr<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1778]     0  1778    27541       36   0       0             0 abrtd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1786]     0  1786    27016       53   6       0             0 abrt-dump-oops<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1810]     0  1810     1754       27   8       0             0 rhsmcertd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1855]     0  1855     1014       21   5       0             0 mingetty<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1857]     0  1857     1014       22   2       0             0 mingetty<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1859]     0  1859     1014       22   2       0             0 mingetty<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1861]     0  1861     1014       21   5       0             0 mingetty<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1862]     0  1862     2749      187   9     -17         -1000 udevd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1864]     0  1864     1014       22   3       0             0 mingetty<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1865]     0  1865     1017       22   0       0             0 agetty<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 1867]     0  1867     1014       22  13       0             0 mingetty<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 2502]     0  2502     9198      108  12       0             0 keepalived<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 2503]     0  2503     9724      140   4       0             0 keepalived<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 2504]     0  2504     9724      127   6       0             0 keepalived<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 2695]     0  2695     9198      108   8       0             0 keepalived<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 2696]     0  2696     9724      141   8       0             0 keepalived<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 2697]     0  2697     9724      128  12       0             0 keepalived<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 2515]     0  2515     5066      127   0       0             0 nginx<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [31653]     0 31653     1561       24   0       0             0 oscmd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [16865]    99 16865     5166      225   8       0             0 nginx<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [16866]    99 16866     5166      225   0       0             0 nginx<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [16867]    99 16867     5166      225  12       0             0 nginx<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [16868]    99 16868     5166      225   2       0             0 nginx<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [16869]    99 16869     5166      225  15       0             0 nginx<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [16870]    99 16870     5166      225   5       0             0 nginx<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [16871]    99 16871     5166      225   0       0             0 nginx<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [16872]    99 16872     5166      225   2       0             0 nginx<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [26947]     0 26947    16018      166   0     -17         -1000 sshd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 2739]     0  2739    29303      159  10       0             0 crond<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 6394]     0  6394    19966      172   0       0             0 monitor<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 6401]     0  6401    64605     3298  14       0             0 monitor_cron<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 6402]     0  6402    19529      117   0       0             0 monitor_agent<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [31724]     0 31724     4816       40   2       0             0 nutcracker<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 7144]     0  7144    34895     1490   4       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [31641]     0 31641    34361     1517  10       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [31649]     0 31649    34361     2098  14       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [32512]     0 32512    34361     1614   7       0             0 redis-sentinel<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [32518]     0 32518    34361     1614   0       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [32524]     0 32524    34361     1614  13       0             0 redis-sentinel<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 7333]     0  7333    34361     1507   4       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [17108]     0 17108   180793     1783  13       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [21470]     0 21470   851513   785994   7       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 5708]     0  5708    34361     2125   6       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 5716]     0  5716    34361     2061   4       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 5724]     0  5724    34361     2122  10       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 5732]     0  5732    34361     2124   7       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 6214]     0  6214    34361     2091   6       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [29556]     0 29556    34361     1563   4       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [32104]     0 32104    34361     1614  13       0             0 redis-sentinel<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [32539]     0 32539    34361     1614  11       0             0 redis-sentinel<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [14316]     0 14316   442937     8430   4       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [32038]     0 32038    24454      234   0       0             0 sshd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [32042]     0 32042    27119      128   1       0             0 bash<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 3901]     0  3901    24454      231   0       0             0 sshd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [ 3905]     0  3905    27118      117   5       0             0 bash<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [19921]    89 19921    19691      206   6       0             0 pickup<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [20382]     0 20382    24454      235   0       0             0 sshd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [20386]     0 20386    27119      116  10       0             0 bash<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [20412]     0 20412    25235       22   6       0             0 tail<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [20413]     0 20413    25813       34   6       0             0 grep<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [21515]     0 21515    24454      236   0       0             0 sshd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [21519]     0 21519    27119      119   0       0             0 bash<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [21725]     0 21725    24454      237  13       0             0 sshd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [21729]     0 21729    27119      117   1       0             0 bash<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [21960]     0 21960    24454      234  10       0             0 sshd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [21964]     0 21964    27119      125   5       0             0 bash<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [22001]     0 22001    24454      247  13       0             0 sshd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [22005]     0 22005    27119      118   0       0             0 bash<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [22039]     0 22039    24454      234  10       0             0 sshd<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [22043]     0 22043    27119      127   8       0             0 bash<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [26738]     0 26738  1339961  1311787   1       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [26910]     0 26910  1339961  1311787  14       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [27566]     0 27566    25235       22  10       0             0 tail<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [27567]     0 27567    25813       32  10       0             0 grep<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: [27805]     0 27805   815673   522185  13       0             0 redis-server<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Out of memory: Kill process 26738 (redis-server) score 291 or sacrifice child<br \/>\nFeb 17 15:12:53 zw_53_159 kernel: Killed process 26738, UID 0, (redis-server) total-vm:5359844kB, anon-rss:5247132kB, file-rss:16kB<br \/>\n^C<br \/>\n\u4e09\u3001\u7ed3\u8bba\uff1a<\/p>\n<p>overcommit\u673a\u5236\u867d\u7136\u80fd\u591f\u4fdd\u8bc1\uff0c\u6bcf\u6b21\u7533\u8bf7\u5185\u5b58\u90fd\u80fd\u6210\u529f\uff0c\u4f46\u662f\u4e5f\u5b58\u5728\u7528\u6237\u8fdb\u7a0b\u88abOOM killer\u7684\u53ef\u80fd\u6027\uff0c\u5982\u679c\u8bbe\u7f6e\u4e5f\u4f1a\u5b58\u5728\u5f88\u5927\u95ee\u9898\u3002<\/p>\n<p>\u5177\u4f53\u8981\u8bbe\u7f6e\u62100\u6216\u8005&gt;0\uff0c\u8fd8\u662f\u8981\u53d6\u51b3\u4e8e\u573a\u666f\uff0c\u6ce8\u610f\u672c\u5b9e\u9a8c\u6ca1\u6709\u5f00\u542fswap\u3002<\/p>\n<p>\u6d4b\u8bd5\u670d\u52a1\u5668\u5173\u95edswap\u7684\u65b9\u6cd5\u662fswapoff -a\uff0c\u672a\u5728\u7ebf\u4e0a\u6d4b\u8bd5\u8fc7\u4f1a\u6709\u4ec0\u4e48\u5f71\u54cd\uff0c\u8bf7\u5c0f\u5fc3\u4f7f\u7528\u3002<\/p>\n<p>\u56db\u3001\u540e\u7eed\u6d4b\u8bd5\uff1a<\/p>\n<ol>\n<li>\u6dfb\u52a0\u4e86swap\u4e4b\u540e\uff0c\u5185\u5b58\u6982\u62ec\u5982\u4e0b\uff1a<\/li>\n<\/ol>\n<p>[@zw_53_159 ~]# free -m<br \/>\ntotal       used       free     shared    buffers     cached<br \/>\nMem:         15948        361      15587          0          3         13<br \/>\n-\/+ buffers\/cache:        344      15604<br \/>\nSwap:        16383       0      16383<\/p>\n<ol start=\"2\">\n<li>\u4f7f\u7528\u7b2c\u4e8c\u8282\u8fdb\u884c\u6d4b\u8bd5\uff0c\u53d1\u73b0OOM killer\u662f\u9488\u5bf9\u53ef\u7528\u5185\u5b58\uff08\u7269\u7406\u5185\u5b58+swap\uff09\u624d\u751f\u6548\uff0c\u4e0d\u50cf\u7f51\u4e0a\u6709\u4e9b\u6587\u7ae0\u8bf4\u7684\u53ea\u8981\u7269\u7406\u5185\u5b58\u4e0d\u591f\uff0c\u5c31\u6267\u884cOOM killer<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>\u5185\u5b58overcommit Linux\u5bf9\u5927\u90e8\u5206\u7533\u8bf7\u5185\u5b58\u7684\u8bf7\u6c42\u90fd\u56de\u590d&quot;yes&quot;\uff0c\u4ee5\u4fbf\u80fd\u8dd1\u66f4\u591a\u66f4\u5927\u7684\u7a0b\u5e8f\u3002\u56e0\u4e3a\u7533\u8bf7\u5185\u5b58\u540e\uff0c\u5e76\u4e0d\u4f1a\u9a6c\u4e0a\u4f7f\u7528\u5185\u5b58\u3002\u8fd9\u79cd\u6280\u672f\u53eb\u505aOvercommit\u3002 vm.overcommit_memory\u8fd9\u4e2a\u7cfb\u7edf\u53c2\u6570\u662f\u7528\u6765\u8bbe\u7f6e\u5185\u5b58\u5206\u914d\u7b56\u7565\u7684\uff0c\u5b83\u6709\u4e09\u4e2a\u53ef\u9009\u503c\uff1a vm.overcommit_memory \u542b\u4e49 0 \u8868\u793a\u5185\u6838\u5c06\u68c0\u67e5\u662f\u5426\u6709\u8db3\u591f\u7684\u53ef\u7528\u5185\u5b58\u4f9b\u5e94\u7528\u8fdb\u7a0b\u4f7f\u7528\uff1b\u5982\u679c\u6709\u8db3\u591f\u7684\u53ef\u7528\u5185\u5b58\uff0c\u5185\u5b58\u7533\u8bf7\u5141\u8bb8\uff1b\u5426\u5219\uff0c\u5185\u5b58\u7533\u8bf7\u5931\u8d25\uff0c\u5e76\u628a\u9519\u8bef\u8fd4\u56de\u7ed9\u5e94\u7528\u8fdb\u7a0b\u3002 1 \u8868\u793a\u5185\u6838\u5141\u8bb8\u5206\u914d\u6240\u6709\u7684\u53ef\u7528\u5185\u5b58\uff0c\u800c\u4e0d\u7ba1\u5f53\u524d\u7684\u5185\u5b58\u72b6\u6001\u5982\u4f55\u3002 2 \u8868\u793a\u5185\u6838\u5141\u8bb8\u5206\u914d\u8d85\u8fc7\u6240\u6709\u7269\u7406\u5185\u5b58\u548c\u4ea4\u6362\u7a7a\u95f4\u603b\u548c\u7684\u5185\u5b58 OOM killer\u4e0e\u5185\u5b58overcommit\uff1a\u4e24\u8005\u662f\u76f8\u4e92\u4f5c\u7528\u7684\uff1a \u5bf9\u4e8e\u4e00\u53f016G\u7684Linux\u670d\u52a1\u5668\u3002 \u5982\u679c\u4f7f\u7528overcommit_memory=0\uff0c\u5982\u679c\u6ca1\u6709\u6ca1\u6709\u8db3\u591f\u7684\u5185\u5b58\u5206\u914d\uff0c\u90a3\u4e48\u5e94\u7528\u60f3\u5206\u914d\u5185\u5b58\u5c31\u4f1a\u5931\u8d25\u3002 \u5982\u679c\u4f7f\u7528overcommit_memory&gt;0\uff0c\u6bcf\u6b21\u7684\u5e94\u7528\u5185\u5b58\u7533\u8bf7\u90fd\u4f1a\u6210\u529f\uff0c\u8fd9\u79cd\u6210\u529f\u662f\u5efa\u7acb\u5728OOM killer\u4f1a\u6740\u6389\u90e8\u5206\u8fdb\u7a0b\u6765\u5b9e\u73b0\u7684\u3002 \u4e8c\u3001\u8bd5\u9a8c\uff1a \u73af\u5883\uff1a (1) \u5185\u5b58\uff1a\u6ca1\u6709\u5f00\u542fswap\uff0c\u53ef\u7528\u5185\u5b5812397M total used free shared buffers cached Mem: 15948 3606 12342 0 10 45 -\/+ buffers\/cache: 3550 12397 Swap: 0 0 0 (2) overcommit_memory\u5f53\u524d\u662f0 cat \/proc\/sys\/vm\/overcommit_memory 0 \u5f00\u542f\u5e94\u7528\u5f3a\u5236\u5403\u5185\u5b58\u3002 \u6211\u5bf9\u4e8eredis\u7a0d\u5fae\u719f\u6089\u4e00\u70b9\uff0credis-server\u6709\u4e2a\u53c2\u6570\u53eb\u505a&#8211;test-memory\uff0c\u53ef\u4ee5\u5403\u6389\u7cfb\u7edf\u7684\u5185\u5b58\uff0c\u5355\u4f4d\u662fM redis-server &#8211;test-memory 1024 (1) \u5f00\u542f\u4e00\u4e2aredis-server &#8211;test-memory 5120\uff0c\u5403\u63895G\u5185\u5b58\uff0c\u5185\u5b58\u53d8\u4e3a\uff1a [@zw_53_159 fl]# free -m total used free shared buffers cached Mem: 15948 8704 7243 0 10 47 -\/+ buffers\/cache: 8646 7301 Swap: 0 0 0 (2) \u518d\u5f00\u542f\u4e00\u4e2aredis-server &#8211;test-memory 5120\uff0c\u5403\u63895G\u5185\u5b58\uff0c\u5185\u5b58\u53d8\u4e3a\uff1a [@zw_53_159 fl]# free -m total used free shared buffers cached Mem: 15948 13839 2109 0 10 47 -\/+ buffers\/cache: 13781 2166 Swap: 0 0 0 (3) \u6b64\u65f6\u8fd8\u67092166\u53ef\u7528\u5185\u5b58\uff0c\u5982\u679c\u5728\u5f00\u542f3G\u7684Redis\u4f1a\u600e\u6837\u5462\uff1f [@zw_53_159 ~]# redis-server &#8211;test-memory 3072 Unable to allocate 3072 megabytes: Cannot allocate memory \u6ca1\u6709\u8db3\u591f\u7684\u5185\u5b58\u4e86\uff1f\u4e3a\u4ec0\u4e48\u5462\uff1a \u6ca1\u6709swap\u53ef\u7528 overcommit_memory=0\uff0c\u4e0d\u4f1a\u7528overcommit\u673a\u5236\u3002 (4) \u4fee\u6539overcommit_memory=1\uff0c echo &quot;vm.overcommit_memory = 1&quot; &gt;&gt; \/etc\/sysctl.conf sysctl vm.overcommit_memory=1 (a) \u5f53\u524d\u7cfb\u7edf\u53ea\u6709\u4e00\u4e9bRedis\u8fdb\u7a0b\uff1a root 26738 21729 99 15:03 pts\/5 00:06:10 redis-server &#8211;test-memory 5120 root 26910 22005 99 15:04 pts\/7 00:05:34 redis-server &#8211;test-memory 5120 (b) \u89c2\u5bdfOOM killer\u65e5\u5fd7\uff1a tail -f \/var\/log\/messages\uff08\u6709\u4e9b\u7cfb\u7edf\u8981\u7528dmesg\u547d\u4ee4\u770b \u4f8b\uff1admesg|grep &#8216;Out of memory&#8217;\uff09 \u7ee7\u7eed\u5f00\u542f3G\u7684Redis: \u5f00\u542f\u6210\u529f\uff0c\u4f46\u662fOOM\u628a\u4e4b\u524d\u4e00\u4e2aredis-server\u7ed9kill\u6389\u4e86\uff0c\u4ece\u4e24\u4e2a\u65b9\u9762\u770b (a) \u8fdb\u7a0b\uff1a\u8fdb\u7a0b26738\u4e0d\u89c1\u4e86\u3002 root 26910 22005 99 15:04 pts\/7 00:08:46 redis-server &#8211;test-memory 5120 root 27805 21964 93 15:12 pts\/6 00:00:27 redis-server &#8211;test-memory 3072 (b) OOM killer\u65e5\u5fd7\uff1a\u91cc\u9762\u6d89\u53ca\u5230\u7ec6\u8282\u5f88\u591a\uff0c\u4f8b\u5982&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","footnotes":""},"categories":[87,82,101,80],"tags":[],"class_list":["post-1525","post","type-post","status-publish","format-standard","hentry","category-linux","category-82","category-101","category-80"],"_links":{"self":[{"href":"https:\/\/oneai.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/1525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneai.eu.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oneai.eu.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oneai.eu.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oneai.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1525"}],"version-history":[{"count":1,"href":"https:\/\/oneai.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/1525\/revisions"}],"predecessor-version":[{"id":1526,"href":"https:\/\/oneai.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/1525\/revisions\/1526"}],"wp:attachment":[{"href":"https:\/\/oneai.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oneai.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oneai.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}