{"id":5567,"date":"2014-04-12T20:38:41","date_gmt":"2014-04-12T12:38:41","guid":{"rendered":"https:\/\/kyle.ai\/blog\/?p=5567"},"modified":"2014-04-12T20:40:52","modified_gmt":"2014-04-12T12:40:52","slug":"vps%e7%bc%96%e8%af%91%e7%a8%8b%e5%ba%8f%e6%97%b6virtual-memory-exhausted-cannot-allocate-memory%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95","status":"publish","type":"post","link":"https:\/\/kyle.ai\/blog\/5567.html","title":{"rendered":"VPS\u7f16\u8bd1\u7a0b\u5e8f\u65f6virtual memory exhausted: Cannot allocate memory\u89e3\u51b3\u529e\u6cd5"},"content":{"rendered":"<p>\u4eca\u5929\u5728VPS\u4e0a\u7528pip\u5b89\u88c5gevent\uff0c\u7ed3\u679c\u9047\u5230\u62a5\u9519\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nvirtual memory exhausted: Cannot allocate memory\r\n<\/pre>\n<p>\u4e0a\u7f51\u67e5\u4e86\u4e00\u4e0b\uff0c\u6709\u7684\u4eba\u8bf4\u770b ulimit -a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n# ulimit -a\r\ncore file size          (blocks, -c) 0\r\ndata seg size           (kbytes, -d) unlimited\r\nscheduling priority             (-e) 0\r\nfile size               (blocks, -f) unlimited\r\npending signals                 (-i) 7899\r\nmax locked memory       (kbytes, -l) 64\r\nmax memory size         (kbytes, -m) unlimited\r\nopen files                      (-n) 1024\r\npipe size            (512 bytes, -p) 8\r\nPOSIX message queues     (bytes, -q) 819200\r\nreal-time priority              (-r) 0\r\nstack size              (kbytes, -s) 8192\r\ncpu time               (seconds, -t) unlimited\r\nmax user processes              (-u) 7899\r\nvirtual memory          (kbytes, -v) unlimited\r\nfile locks                      (-x) unlimited\r\n<\/pre>\n<p>\u91cc\u9762\u7684max memory size\u548cvirtual memory\u8bbe\u7f6e\u6210\u6bd4VPS\u7684\u5185\u5b58\u5c0f\u5c31\u884c\u4e86\uff0c\u5206\u522b\u7528 ulimit -m 60000 \u548c ulimit -v 60000\u8bbe\u7f6e\u6210\u529f\u4e86\uff0c\u4f46\u95ee\u9898\u4f9d\u65e7\u3002<\/p>\n<p>\u663e\u7136\u7ed9VPS\u52a0\u5185\u5728\u7684\u65b9\u6cd5\u592a\u9ebb\u70e6\u4e86\uff0c\u5f97\u91cd\u505a\u7cfb\u7edf\u3002\u63a5\u7740\u53c8\u5728\u7f51\u4e0a\u627e\u5230\u4e86\u7528swap\u6269\u5c55\u5185\u5b58\u7684\u65b9\u6cd5\uff0c\u5177\u4f53\u505a\u6cd5\u662f\u5efa\u4e00\u4e2a\u5927\u6587\u4ef6\u505aswap\u7528\u3002<br \/>\n\u5148\u5efa\u4e00\u4e2a3G\u5927\u7684\u6587\u4ef6 <\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n# dd if=\/dev\/zero of=\/var\/swap bs=1M count=3072\r\n3072+0 records in\r\n3072+0 records out\r\n3221225472 bytes (3.2 GB) copied, 16.7703 s, 192 MB\/s\r\n<\/pre>\n<p>\u4f7f\u7528 mkswap \u5c06 \/var\/swap \u8fd9\u4e2a\u6587\u4ef6\u683c\u5f0f\u5316\u4e3a swap \u7684\u6587\u4ef6\u683c\u5f0f\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n# mkswap \/var\/swap \r\nSetting up swapspace version 1, size = 3145724 KiB\r\nno label, UUID=138195eb-1d16-4b06-b6ad-b5b26fc71622\r\n<\/pre>\n<p>\u4f7f\u7528swapon\u6765\u5c06 \/var\/swap \u542f\u52a8<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n# swapon swap\r\n<\/pre>\n<p>\u8fd9\u6837\u5c31OK\u4e86\uff0c\u770b\u4e00\u4e0b\u65b0\u7684\u5185\u5b58\u60c5\u51b5<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n# free\r\n             total       used       free     shared    buffers     cached\r\nMem:       1019048     952148      66900          0       5172     100576\r\n-\/+ buffers\/cache:     846400     172648\r\nSwap:      3145724          0    3145724\r\n<\/pre>\n<p>\u7528\u5b8c\u4e4b\u540e\u518d\u5173\u6389swap<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n# swapoff swap\r\n# free\r\n             total       used       free     shared    buffers     cached\r\nMem:       1019048     947136      71912          0       6840      91816\r\n-\/+ buffers\/cache:     848480     170568\r\nSwap:            0          0          0\r\n<\/pre>\n<p>\u4e4b\u540e\u7684\u5927\u6587\u4ef6\u4e5f\u53ef\u4ee5\u5220\u9664\u6389\u4e86\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u5929\u5728VPS\u4e0a\u7528pip\u5b89\u88c5gevent\uff0c\u7ed3\u679c\u9047\u5230\u62a5\u9519\uff1a virtual memory exhausted: C [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-5567","post","type-post","status-publish","format-standard","hentry","category-skill"],"_links":{"self":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts\/5567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/comments?post=5567"}],"version-history":[{"count":3,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts\/5567\/revisions"}],"predecessor-version":[{"id":5570,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts\/5567\/revisions\/5570"}],"wp:attachment":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/media?parent=5567"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/categories?post=5567"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/tags?post=5567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}