{"id":3707,"date":"2021-11-21T23:02:32","date_gmt":"2021-11-22T07:02:32","guid":{"rendered":"https:\/\/www.xh86.me\/?p=3707"},"modified":"2021-11-21T23:02:32","modified_gmt":"2021-11-22T07:02:32","slug":"linux%e4%b8%8bjava%e8%bf%9b%e7%a8%8bcpu%e5%8d%a0%e7%94%a8%e7%8e%87%e9%ab%98%e5%88%86%e6%9e%90%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/www.xh86.me\/?p=3707","title":{"rendered":"Linux\u4e0bjava\u8fdb\u7a0bCPU\u5360\u7528\u7387\u9ad8\u5206\u6790\u65b9\u6cd5"},"content":{"rendered":"<p>\u5728\u5de5\u4f5c\u5f53\u4e2d\uff0c\u80af\u5b9a\u4f1a\u9047\u5230\u7531\u4ee3\u7801\u6240\u5bfc\u81f4\u7684\u9ad8CPU\u8017\u7528\u4ee5\u53ca\u5185\u5b58\u6ea2\u51fa\u7684\u60c5\u51b5\u3002\u8fd9\u79cd\u60c5\u51b5\u53d1\u751f\u65f6\uff0c\u6211\u4eec\u600e\u4e48\u53bb\u627e\u51fa\u539f\u56e0\u5e76\u89e3\u51b3\u3002<\/p>\n<p>\u4e00\u822c\u89e3\u51b3\u65b9\u6cd5\u662f\u901a\u8fc7top\u547d\u4ee4\u627e\u51fa\u6d88\u8017\u8d44\u6e90\u9ad8\u7684\u7ebf\u7a0bid\uff0c\u5229\u7528strace\u547d\u4ee4\u67e5\u770b\u8be5\u7ebf\u7a0b\u6240\u6709\u7cfb\u7edf\u8c03\u7528<\/p>\n<p>&nbsp;<\/p>\n<p>\u65b9\u6cd5\u4e00\uff1a<\/p>\n<p>&nbsp;<\/p>\n<p><strong>1.<\/strong><strong>\u901a\u8fc7<\/strong><strong>top<\/strong><strong>\u547d\u4ee4\u67e5\u770b\u5f53\u524d\u7cfb\u7edf<\/strong><strong>CPU<\/strong><strong>\u4f7f\u7528\u60c5\u51b5\uff0c\u627e\u5230\u53ef\u7591\u8fdb\u7a0b<\/strong><strong>PID<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>top &#8211; 09:37:18 up 70 days, 16:29,\u00a0 2 users,\u00a0 load average: 1.13, 1.04, 0.97<\/p>\n<p>Tasks: 105 total,\u00a0\u00a0 1 running, 104 sleeping,\u00a0\u00a0 0 stopped,\u00a0\u00a0 0 zombie<\/p>\n<p>Cpu(s):\u00a0 1.0%us,\u00a0 4.9%sy,\u00a0 0.0%ni, 93.6%id,\u00a0 0.0%wa,\u00a0 0.0%hi,\u00a0 0.0%si,\u00a0 0.5%st<\/p>\n<p>Mem:\u00a0\u00a0 2067816k total,\u00a0 1756680k used,\u00a0\u00a0 311136k free,\u00a0\u00a0 236340k buffers<\/p>\n<p>Swap:\u00a0\u00a0 524284k total,\u00a0\u00a0 255508k used,\u00a0\u00a0 268776k free,\u00a0\u00a0 277040k cached<\/p>\n<p>&nbsp;<\/p>\n<p>PID USER\u00a0\u00a0\u00a0\u00a0\u00a0 PR\u00a0 NI\u00a0 VIRT\u00a0 RES\u00a0 SHR S %CPU %MEM\u00a0\u00a0\u00a0 TIME+\u00a0 COMMAND<\/p>\n<p>24138 apache\u00a0\u00a0\u00a0 20\u00a0\u00a0 0 1273m 384m 3668 S 103.3 19.0\u00a0\u00a0 1232:39 java<\/p>\n<p>3359 root\u00a0\u00a0\u00a0\u00a0\u00a0 39\u00a0 19\u00a0 2704\u00a0\u00a0 36\u00a0\u00a0\u00a0 0 S\u00a0 0.3\u00a0 0.0\u00a0\u00a0 4:39.34 gam_server<\/p>\n<p>6696 root\u00a0\u00a0\u00a0\u00a0\u00a0 20\u00a0\u00a0 0 34148 1604\u00a0 244 S\u00a0 0.3\u00a0 0.1\u00a0\u00a0 5:06.63 httpd<\/p>\n<p>19254 root\u00a0\u00a0\u00a0\u00a0\u00a0 20\u00a0\u00a0 0\u00a0 785m 221m 3176 S\u00a0 0.3 11.0\u00a0\u00a0 9:04.36 java<\/p>\n<p>1 root\u00a0\u00a0\u00a0\u00a0\u00a0 20\u00a0\u00a0 0\u00a0 2224\u00a0\u00a0 28\u00a0\u00a0\u00a0 0 S\u00a0 0.0\u00a0 0.0\u00a0\u00a0 1:22.46 init<\/p>\n<p>2 root\u00a0\u00a0\u00a0\u00a0\u00a0 20\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 0 S\u00a0 0.0\u00a0 0.0\u00a0\u00a0 0:00.00 kthreadd<\/p>\n<p>3 root\u00a0\u00a0\u00a0\u00a0\u00a0 20\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 0 S\u00a0 0.0\u00a0 0.0\u00a0\u00a0 0:33.42 ksoftirqd\/0<\/p>\n<p>5 root\u00a0\u00a0\u00a0\u00a0\u00a0 20\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 0 S\u00a0 0.0\u00a0 0.0\u00a0\u00a0 0:00.03 kworker\/u:0<\/p>\n<p>&nbsp;<\/p>\n<p>\u4ece\u4e0a\u9762\u547d\u4ee4\u4e2d\u53ef\u4ee5\u770b\u51fajava\u8fdb\u7a0bCPU\u5229\u7528\u7387\u4e00\u76f4\u4fdd\u6301100%\uff0c\u7a33\u5c45\u4e0d\u4e0b\uff0c\u627e\u5230PID 24138<\/p>\n<ol start=\"2\">\n<li>\u627e\u51fa\u6d88\u8017\u8d44\u6e90\u6700\u9ad8\u7684\u7ebf\u7a0b<\/li>\n<\/ol>\n<p>top -H -p 24138 \u53ef\u4ee5\u4e0d\u7528\u7b2c\u4e00\u6b65\uff0c\u76f4\u63a5\u6267\u884c\u547d\u4ee4 top -H \uff0c\u5c31\u53ef\u4ee5\u67e5\u770b\u5230\u6d88\u8017\u8d44\u6e90\u6700\u9ad8\u7684\u7ebf\u7a0b<\/p>\n<p>&nbsp;<\/p>\n<p>top &#8211; 09:49:49 up 70 days, 16:41,\u00a0 2 users,\u00a0 load average: 1.01, 1.04, 1.00<\/p>\n<p>Tasks:\u00a0 72 total,\u00a0\u00a0 1 running,\u00a0 71 sleeping,\u00a0\u00a0 0 stopped,\u00a0\u00a0 0 zombie<\/p>\n<p>Cpu(s):\u00a0 0.6%us,\u00a0 1.3%sy,\u00a0 0.0%ni, 97.7%id,\u00a0 0.1%wa,\u00a0 0.0%hi,\u00a0 0.0%si,\u00a0 0.2%st<\/p>\n<p>Mem:\u00a0\u00a0 2067816k total,\u00a0 1760840k used,\u00a0\u00a0 306976k free,\u00a0\u00a0 236744k buffers<\/p>\n<p>Swap:\u00a0\u00a0 524284k total,\u00a0\u00a0 253344k used,\u00a0\u00a0 270940k free,\u00a0\u00a0 279092k cached<\/p>\n<p>&nbsp;<\/p>\n<p>PID USER\u00a0\u00a0\u00a0\u00a0\u00a0 PR\u00a0 NI\u00a0 VIRT\u00a0 RES\u00a0 SHR S %CPU %MEM\u00a0\u00a0\u00a0 TIME+\u00a0 COMMAND<\/p>\n<p>24167 apache\u00a0\u00a0\u00a0 20\u00a0\u00a0 0 1273m 384m 3688 R 99.1 19.0\u00a0\u00a0 1169:43 java<\/p>\n<p>24152 apache\u00a0\u00a0\u00a0 20\u00a0\u00a0 0 1273m 384m 3688 S\u00a0 2.0 19.0\u00a0\u00a0 0:28.58 java<\/p>\n<p>24188 apache\u00a0\u00a0\u00a0 20\u00a0\u00a0 0 1273m 384m 3688 S\u00a0 2.0 19.0\u00a0\u00a0 4:56.69 java<\/p>\n<p>24138 apache\u00a0\u00a0\u00a0 20\u00a0\u00a0 0 1273m 384m 3688 S\u00a0 0.0 19.0\u00a0\u00a0 0:00.00 java<\/p>\n<p>&nbsp;<\/p>\n<ol start=\"3\">\n<li>\u67e5\u770b\u8fd9\u4e2a\u7ebf\u7a0b\u6240\u6709\u7cfb\u7edf\u8c03\u7528\u60c5\u51b5<\/li>\n<\/ol>\n<p>strace -p 24167<\/p>\n<p>\u53ef\u80fd\u6ca1\u6709\u91cd\u8981\u4fe1\u606f<\/p>\n<ol start=\"4\">\n<li>\u5c06\u9700\u8981\u7684\u7ebf\u7a0bID\u8f6c\u6362\u4e3a16\u8fdb\u5236\u683c\u5f0f<\/li>\n<\/ol>\n<p>printf &#8220;%x\\n&#8221; 24167<\/p>\n<p>73ef<\/p>\n<ol start=\"5\">\n<li>\u6700\u540e\u6253\u5370\u7ebf\u7a0b\u7684\u5806\u6808\u4fe1\u606f\uff1a<\/li>\n<\/ol>\n<p>jstack 24167|grep 73ef -A 30<\/p>\n<p>6\u3001\u4e5f\u53ef\u6293\u53d6\u5806\u6808\u4fe1\u606f\uff0c\u67e5\u770b\u4ee3\u7801\u4f4d\u7f6e<\/p>\n<p>jstack -F 24167 &gt; dump.txt<\/p>\n<p>\u901a\u8fc7\u8fd9\u51e0\u6b65\u57fa\u672c\u53ef\u4ee5\u627e\u51fa\u4ec0\u4e48\u539f\u56e0\u5bfc\u81f4java\u8fdb\u7a0b\u5360\u7528\u90a3\u4e48\u9ad8CPU\u8d44\u6e90\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u65b9\u6cd5\u4e8c\uff1a<\/p>\n<div id=\"cnblogs_post_body\" class=\"blogpost-body blogpost-body-html\">\n<pre class=\"js_message_plain ng-binding\">1. \u901a\u8fc7 top \u547d\u4ee4\u67e5\u770b\u5f53\u524d\u7cfb\u7edfCPU\u4f7f\u7528\u60c5\u51b5\uff0c\u5b9a\u4f4dCPU\u4f7f\u7528\u7387\u8d85\u8fc7100%\u7684\u8fdb\u7a0bID\uff1b\r\n2. \u901a\u8fc7 ps aux | grep PID \u547d\u4ee4\u8fdb\u4e00\u6b65\u786e\u5b9a\u5177\u4f53\u7684\u7ebf\u7a0b\u4fe1\u606f\uff1b\r\n3. \u901a\u8fc7 ps -mp pid -o THREAD,tid,time \u547d\u4ee4\u663e\u793a\u7ebf\u7a0b\u4fe1\u606f\u5217\u8868\uff0c\u7136\u540e\u627e\u5230\u8017\u65f6\u7684\u7ebf\u7a0bID\uff1b\r\n4. \u901a\u8fc7 strace -p tid \u67e5\u770b\u8fd9\u4e2a\u7ebf\u7a0b\u6240\u6709\u7cfb\u7edf\u8c03\u7528\u60c5\u51b5,\u53ef\u80fd\u6ca1\u6709\u91cd\u8981\u4fe1\u606f\r\n5. \u5c06\u9700\u8981\u7684\u7ebf\u7a0bID\u8f6c\u6362\u4e3a16\u8fdb\u5236\u683c\u5f0f\uff1aprintf \"%x\\n\" tid\r\n<em id=\"__mceDel\">6. <\/em>\u6700\u540e\u627e\u5230\u7ebf\u7a0b\u5806\u6808\u4fe1\u606f\uff1ajstack pid |grep tid ,\u5176\u4e2dtid\u662f\u4e0a\u9762\u8f6c\u6362\u540e\u768416\u8fdb\u5236\u7684\u7ebf\u7a0bID<\/pre>\n<\/div>\n<div class=\"clear\"><\/div>\n<div id=\"blog_post_info_block\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u5728\u5de5\u4f5c\u5f53\u4e2d\uff0c\u80af\u5b9a\u4f1a\u9047\u5230\u7531\u4ee3\u7801\u6240\u5bfc\u81f4\u7684\u9ad8CPU\u8017\u7528\u4ee5\u53ca\u5185\u5b58\u6ea2\u51fa\u7684\u60c5\u51b5\u3002\u8fd9\u79cd\u60c5\u51b5\u53d1\u751f\u65f6\uff0c\u6211\u4eec\u600e\u4e48\u53bb\u627e\u51fa\u539f\u56e0\u5e76\u89e3\u51b3\u3002 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-3707","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts\/3707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3707"}],"version-history":[{"count":1,"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts\/3707\/revisions"}],"predecessor-version":[{"id":3708,"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts\/3707\/revisions\/3708"}],"wp:attachment":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}