{"id":10006066,"date":"2022-08-01T12:02:45","date_gmt":"2022-08-01T04:02:45","guid":{"rendered":"https:\/\/ityet.com\/?p=10006066"},"modified":"2022-08-01T12:02:45","modified_gmt":"2022-08-01T04:02:45","slug":"%e7%ba%bf%e4%b8%8a%e9%97%ae%e9%a2%98%e6%8e%92%e6%9f%a5%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%ef%bc%8c%e6%80%bb%e7%bb%93%e5%a4%aa%e5%85%a8%e4%ba%86%ef%bc%8c%e5%bb%ba%e8%ae%ae%e6%94%b6%e8%97%8f%ef%bc%81","status":"publish","type":"post","link":"https:\/\/itmax.cn\/?p=10006066","title":{"rendered":"\u7ebf\u4e0a\u95ee\u9898\u6392\u67e5\u5e38\u7528\u547d\u4ee4\uff0c\u603b\u7ed3\u592a\u5168\u4e86\uff0c\u5efa\u8bae\u6536\u85cf\uff01\uff01"},"content":{"rendered":"<p>\u6765\u6e90\uff1a<a href=\"https:\/\/link.segmentfault.com\/?enc=tlpRo%2Fa%2BCUt9OowtA4fEqQ%3D%3D.ruqPPKIvXi02kzOp6mVKpagX9Jq8Dp%2BFopgVgVds8gbx%2BLtzinnrQjk4U6fs9SdZ\" rel=\"nofollow\">https:\/\/my.oschina.net\/xiaoly&#8230;<\/a><\/p>\n<h2>\u5185\u5b58\u74f6\u9888<\/h2>\n<h3>free<\/h3>\n<p><code>free<\/code> \u662f\u67e5\u770b\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\uff0c\u5305\u62ec\u7269\u7406\u5185\u5b58\u3001\u4ea4\u6362\u5185\u5b58 (swap) \u548c\u5185\u6838\u7f13\u51b2\u533a\u5185\u5b58\u3002<\/p>\n<p><code>free -h -s 3<\/code> \u8868\u793a\u6bcf\u9694\u4e09\u79d2\u8f93\u51fa\u4e00\u6b21\u5185\u5b58\u60c5\u51b5\uff0c\u547d\u4ee4\u5982\u4e0b<\/p>\n<pre><code class=\"shell\">[1014154@cc69dd4c5-4tdb5 ~]$ free\n              total        used        free      shared  buff\/cache   available\nMem:      119623656    43052220    45611364     4313760    30960072    70574408\nSwap:             0           0           0\n[1014154@cc69dd4c5-4tdb5 ~]$ free -h -s 3\n              total        used        free      shared  buff\/cache   available\nMem:           114G         41G         43G        4.1G         29G         67G\nSwap:            0B          0B          0B\n\n              total        used        free      shared  buff\/cache   available\nMem:           114G         41G         43G        4.1G         29G         67G\nSwap:            0B          0B          0B<\/code><\/pre>\n<ul>\n<li><code>Mem<\/code>\uff1a\u662f\u5185\u5b58\u7684\u4f7f\u7528\u60c5\u51b5\u3002<\/li>\n<li><code>Swap<\/code>\uff1a\u662f\u4ea4\u6362\u7a7a\u95f4\u7684\u4f7f\u7528\u60c5\u51b5\u3002<\/li>\n<li><code>total<\/code>\uff1a \u7cfb\u7edf\u603b\u7684\u53ef\u7528\u7269\u7406\u5185\u5b58\u548c\u4ea4\u6362\u7a7a\u95f4\u5927\u5c0f\u3002<\/li>\n<li><code>used<\/code>\uff1a \u5df2\u7ecf\u88ab\u4f7f\u7528\u7684\u7269\u7406\u5185\u5b58\u548c\u4ea4\u6362\u7a7a\u95f4\u3002<\/li>\n<li><code>free<\/code>\uff1a \u8fd8\u6709\u591a\u5c11\u7269\u7406\u5185\u5b58\u548c\u4ea4\u6362\u7a7a\u95f4\u53ef\u7528\u4f7f\u7528\uff0c<strong>\u662f\u771f\u6b63\u5c1a\u672a\u88ab\u4f7f\u7528\u7684\u7269\u7406\u5185\u5b58\u6570\u91cf<\/strong>\u3002<\/li>\n<li><code>shared<\/code>\uff1a\u88ab\u5171\u4eab\u4f7f\u7528\u7684\u7269\u7406\u5185\u5b58\u5927\u5c0f\u3002<\/li>\n<li><code>buff\/cache<\/code>\uff1a\u88ab buffer\uff08\u7f13\u51b2\u533a\uff09 \u548c cache\uff08\u7f13\u5b58\uff09 \u4f7f\u7528\u7684\u7269\u7406\u5185\u5b58\u5927\u5c0f\u3002<\/li>\n<li><code>available<\/code>\uff1a \u8fd8\u53ef\u4ee5\u88ab\u5e94\u7528\u7a0b\u5e8f\u4f7f\u7528\u7684\u7269\u7406\u5185\u5b58\u5927\u5c0f\uff0c<strong>\u5b83\u662f\u4ece\u5e94\u7528\u7a0b\u5e8f\u7684\u89d2\u5ea6\u770b\u5230\u7684\u53ef\u7528\u5185\u5b58\u6570\u91cf\uff0cavailable \u2248 free + buffer + cache<\/strong>\u3002<\/li>\n<\/ul>\n<h4>\u4ea4\u6362\u7a7a\u95f4 (swap space)<\/h4>\n<p>swap space \u662f\u78c1\u76d8\u4e0a\u7684\u4e00\u5757\u533a\u57df\uff0c\u5f53\u7cfb\u7edf\u7269\u7406\u5185\u5b58\u5403\u7d27\u65f6\uff0cLinux \u4f1a\u5c06\u5185\u5b58\u4e2d\u4e0d\u5e38\u8bbf\u95ee\u7684\u6570\u636e\u4fdd\u5b58\u5230 swap \u4e0a\uff0c\u8fd9\u6837\u7cfb\u7edf\u5c31\u6709\u66f4\u591a\u7684\u7269\u7406\u5185\u5b58\u4e3a\u5404\u4e2a\u8fdb\u7a0b\u670d\u52a1\uff0c\u800c\u5f53\u7cfb\u7edf\u9700\u8981\u8bbf\u95ee swap \u4e0a\u5b58\u50a8\u7684\u5185\u5bb9\u65f6\uff0c\u518d\u5c06 swap \u4e0a\u7684\u6570\u636e\u52a0\u8f7d\u5230\u5185\u5b58\u4e2d\uff0c\u8fd9\u5c31\u662f\u5e38\u8bf4\u7684\u6362\u51fa\u548c\u6362\u5165\u3002\u4ea4\u6362\u7a7a\u95f4\u53ef\u4ee5\u5728\u4e00\u5b9a\u7a0b\u5ea6\u4e0a\u7f13\u89e3\u5185\u5b58\u4e0d\u8db3\u7684\u60c5\u51b5\uff0c\u4f46\u662f\u5b83\u9700\u8981\u8bfb\u5199\u78c1\u76d8\u6570\u636e\uff0c\u6240\u4ee5\u6027\u80fd\u4e0d\u662f\u5f88\u9ad8\u3002<\/p>\n<h3>vmstat\uff08\u63a8\u8350\uff09<\/h3>\n<p>vmstat\uff08VirtualMeomoryStatistics\uff0c\u865a\u62df\u5185\u5b58\u7edf\u8ba1\uff09\u662f Linux \u4e2d\u76d1\u63a7\u5185\u5b58\u7684\u5e38\u7528\u5de5\u5177\uff0c\u53ef\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u865a\u62df\u5185\u5b58\u3001\u8fdb\u7a0b\u3001CPU \u7b49\u7684\u6574\u4f53\u60c5\u51b5\u8fdb\u884c\u76d1\u89c6\uff0c\u63a8\u8350\u4f7f\u7528\u3002<\/p>\n<p><code>vmstat 5 3<\/code> \u8868\u793a\u6bcf\u9694 5 \u79d2\u7edf\u8ba1\u4e00\u6b21\uff0c\u4e00\u5171\u7edf\u8ba1\u4e09\u6b21\u3002<\/p>\n<pre><code class=\"shell\">[1014154@cc69dd4c5-4tdb5 ~]$ vmstat 5 3\nprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----\n r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st\n 8  0      0 45453212 374768 30763728    0    0    14    99    1    1 11 10 78  0  1\n10  0      0 45489232 374768 30763360    0    0     2  1275 95118 97908 13 11 75  0  1\n 6  0      0 45452908 374768 30765148    0    0     0  3996 89924 92073 12 10 78  0  1<\/code><\/pre>\n<h4>procs<\/h4>\n<p><code>r<\/code>\uff1a\u8868\u793a\u8fd0\u884c\u548c\u7b49\u5f85 CPU \u65f6\u95f4\u7247\u7684\u8fdb\u7a0b\u6570\uff08\u5c31\u662f\u8bf4\u591a\u5c11\u4e2a\u8fdb\u7a0b\u771f\u7684\u5206\u914d\u5230 CPU\uff09\uff0c<strong>\u8fd9\u4e2a\u503c\u5982\u679c\u957f\u671f\u5927\u4e8e\u7cfb\u7edf CPU \u4e2a\u6570\uff0c\u8bf4\u660e CPU \u4e0d\u8db3\uff0c\u9700\u8981\u589e\u52a0 CPU<\/strong>\u3002 <code>b<\/code>\uff1a\u8868\u793a\u5728\u7b49\u5f85\u8d44\u6e90\u7684\u8fdb\u7a0b\u6570\uff0c\u6bd4\u5982\u6b63\u5728\u7b49\u5f85 I\/O \u6216\u8005\u5185\u5b58\u4ea4\u6362\u7b49\u3002<\/p>\n<h4>memory<\/h4>\n<p><code>swpd<\/code>\uff1a\u8868\u793a\u5207\u6362\u5230\u5185\u5b58\u4ea4\u6362\u533a\u7684\u5185\u5b58\u5927\u5c0f\uff0c\u5373\u865a\u62df\u5185\u5b58\u5df2\u4f7f\u7528\u7684\u5927\u5c0f\uff08\u5355\u4f4d KB\uff09\uff0c<strong>\u5982\u679c\u5927\u4e8e 0\uff0c\u8868\u793a\u4f60\u7684\u673a\u5668\u7269\u7406\u5185\u5b58\u4e0d\u8db3\u4e86\uff0c\u5982\u679c\u4e0d\u662f\u7a0b\u5e8f\u5185\u5b58\u6cc4\u9732\u7684\u539f\u56e0\uff0c\u90a3\u4e48\u4f60\u8be5\u5347\u7ea7\u5185\u5b58\u4e86\u6216\u8005\u628a\u8017\u5185\u5b58\u7684\u4efb\u52a1\u8fc1\u79fb\u5230\u5176\u4ed6\u673a\u5668<\/strong>\u3002 <code>free<\/code>\uff1a\u8868\u793a\u5f53\u524d\u7a7a\u95f2\u7684\u7269\u7406\u5185\u5b58\u3002 <code>buff<\/code>\uff1a\u8868\u793a\u7f13\u51b2\u5927\u5c0f\uff0c\u4e00\u822c\u5bf9\u5757\u8bbe\u5907\u7684\u8bfb\u5199\u624d\u9700\u8981\u7f13\u51b2 <code>Cache<\/code>\uff1a\u8868\u793a\u7f13\u5b58\u5927\u5c0f\uff0c\u4e00\u822c\u4f5c\u4e3a\u6587\u4ef6\u7cfb\u7edf\u8fdb\u884c\u7f13\u51b2\uff0c\u9891\u7e41\u8bbf\u95ee\u7684\u6587\u4ef6\u90fd\u4f1a\u88ab\u7f13\u5b58\uff0c\u5982\u679c cache \u503c\u975e\u5e38\u5927\u8bf4\u660e\u7f13\u5b58\u6587\u4ef6\u6bd4\u8f83\u591a\uff0c\u5982\u679c\u6b64\u65f6 io \u4e2d\u7684 bi \u6bd4\u8f83\u5c0f\uff0c\u8bf4\u660e\u6587\u4ef6\u7cfb\u7edf\u6548\u7387\u6bd4\u8f83\u597d\u3002<\/p>\n<h4>swap<\/h4>\n<p><code>si<\/code>\uff1a\u8868\u793a\u6570\u636e\u7531\u78c1\u76d8\u8bfb\u5165\u5185\u5b58\uff1b\u901a\u4fd7\u7684\u8bb2\u5c31\u662f\u6bcf\u79d2\u4ece\u78c1\u76d8\u8bfb\u5165\u865a\u62df\u5185\u5b58\u7684\u5927\u5c0f\uff0c<strong>\u5982\u679c\u8fd9\u4e2a\u503c\u5927\u4e8e 0\uff0c\u8868\u793a\u7269\u7406\u5185\u5b58\u4e0d\u591f\u7528\u6216\u8005\u5185\u5b58\u6cc4\u9732\u4e86\uff0c\u8981\u67e5\u627e\u8017\u5185\u5b58\u8fdb\u7a0b\u89e3\u51b3\u6389<\/strong>\u3002 <code>so<\/code>\uff1a\u8868\u793a\u7531\u5185\u5b58\u5199\u5165\u78c1\u76d8\uff0c\u4e5f\u5c31\u662f\u7531\u5185\u5b58\u4ea4\u6362\u533a\u8fdb\u5165\u5185\u5b58\u7684\u6570\u636e\u5927\u5c0f\u3002<\/p>\n<blockquote><p>\u6ce8\u610f\uff1a\u4e00\u822c\u60c5\u51b5\u4e0b si\u3001so \u7684\u503c\u90fd\u4e3a 0\uff0c\u5982\u679c si\u3001so \u7684\u503c\u957f\u671f\u4e0d\u4e3a 0\uff0c\u5219\u8bf4\u660e\u7cfb\u7edf\u5185\u5b58\u4e0d\u8db3\uff0c\u9700\u8981\u589e\u52a0\u7cfb\u7edf\u5185\u5b58<\/p><\/blockquote>\n<h4>io<\/h4>\n<p><code>bi<\/code>\uff1a\u8868\u793a\u7531\u5757\u8bbe\u5907\u8bfb\u5165\u6570\u636e\u7684\u603b\u91cf\uff0c\u5373\u8bfb\u78c1\u76d8\uff0c\u5355\u4f4d kb\/s <code>bo<\/code>\uff1a\u8868\u793a\u5199\u5230\u5757\u8bbe\u5907\u6570\u636e\u7684\u603b\u91cf\uff0c\u5373\u5199\u78c1\u76d8\uff0c\u5355\u4f4d kb\/s<\/p>\n<blockquote><p>\u6ce8\u610f\uff1a\u5982\u679c bi+bo \u7684\u503c\u8fc7\u5927\uff0c\u4e14 wa \u503c\u8f83\u5927\uff0c\u5219\u8868\u793a\u7cfb\u7edf\u78c1\u76d8 IO \u74f6\u9888\u3002<\/p><\/blockquote>\n<h4>system<\/h4>\n<p><code>in<\/code>\uff1a\u8868\u793a\u67d0\u4e00\u65f6\u95f4\u95f4\u9694\u5185\u89c2\u6d4b\u5230\u7684\u6bcf\u79d2\u8bbe\u5907\u7ec8\u7aef\u6570\u3002 <code>cs<\/code>\uff1a\u8868\u793a\u6bcf\u79d2\u4ea7\u751f\u7684\u4e0a\u4e0b\u6587\u5207\u6362\u6b21\u6570\uff0c<strong>\u8fd9\u4e2a\u503c\u8981\u8d8a\u5c0f\u8d8a\u597d\uff0c\u592a\u5927\u4e86\uff0c\u8981\u8003\u8651\u8c03\u4f4e\u7ebf\u7a0b\u6216\u8005\u8fdb\u7a0b\u7684\u6570\u76ee<\/strong>\u3002\u4f8b\u5982\u5728 apache \u548c nginx \u8fd9\u79cd web \u670d\u52a1\u5668\u4e2d\uff0c\u6211\u4eec\u4e00\u822c\u505a\u6027\u80fd\u6d4b\u8bd5\u65f6\u4f1a\u8fdb\u884c\u51e0\u5343\u5e76\u53d1\u751a\u81f3\u51e0\u4e07\u5e76\u53d1\u7684\u6d4b\u8bd5\uff0c\u9009\u62e9 web \u670d\u52a1\u5668\u7684\u8fdb\u7a0b\u53ef\u4ee5\u7531\u8fdb\u7a0b\u6216\u8005\u7ebf\u7a0b\u7684\u5cf0\u503c\u4e00\u76f4\u4e0b\u8c03\uff0c\u538b\u6d4b\uff0c\u76f4\u5230 cs \u5230\u4e00\u4e2a\u6bd4\u8f83\u5c0f\u7684\u503c\uff0c\u8fd9\u4e2a\u8fdb\u7a0b\u548c\u7ebf\u7a0b\u6570\u5c31\u662f\u6bd4\u8f83\u5408\u9002\u7684\u503c\u4e86\u3002\u7cfb\u7edf\u8c03\u7528\u4e5f\u662f\uff0c\u6bcf\u6b21\u8c03\u7528\u7cfb\u7edf\u51fd\u6570\uff0c\u6211\u4eec\u7684\u4ee3\u7801\u5c31\u4f1a\u8fdb\u5165\u5185\u6838\u7a7a\u95f4\uff0c\u5bfc\u81f4\u4e0a\u4e0b\u6587\u5207\u6362\uff0c\u8fd9\u4e2a\u662f\u5f88\u8017\u8d44\u6e90\uff0c\u4e5f\u8981\u5c3d\u91cf\u907f\u514d\u9891\u7e41\u8c03\u7528\u7cfb\u7edf\u51fd\u6570\u3002\u4e0a\u4e0b\u6587\u5207\u6362\u6b21\u6570\u8fc7\u591a\u8868\u793a\u4f60\u7684 CPU \u5927\u90e8\u5206\u6d6a\u8d39\u5728\u4e0a\u4e0b\u6587\u5207\u6362\uff0c\u5bfc\u81f4 CPU \u5e72\u6b63\u7ecf\u4e8b\u7684\u65f6\u95f4\u5c11\u4e86\uff0cCPU \u6ca1\u6709\u5145\u5206\u5229\u7528\uff0c\u662f\u4e0d\u53ef\u53d6\u7684\u3002<\/p>\n<blockquote><p>\u6ce8\u610f\uff1a\u8fd9\u4e24\u4e2a\u503c\u8d8a\u5927\uff0c\u5219\u7531\u5185\u6838\u6d88\u8017\u7684 CPU \u5c31\u8d8a\u591a\u3002<\/p><\/blockquote>\n<h4>CPU<\/h4>\n<p><code>us<\/code>\uff1a\u8868\u793a\u7528\u6237\u8fdb\u7a0b\u6d88\u8017\u7684 CPU \u65f6\u95f4\u767e\u5206\u6bd4\uff0c<strong>us \u503c\u8d8a\u9ad8\uff0c\u8bf4\u660e\u7528\u6237\u8fdb\u7a0b\u6d88\u8017 CPU \u65f6\u95f4\u8d8a\u591a\uff0c\u5982\u679c\u957f\u671f\u5927\u4e8e 50%\uff0c\u5219\u9700\u8981\u8003\u8651\u4f18\u5316\u7a0b\u5e8f\u6216\u8005\u7b97\u6cd5<\/strong>\u3002 <code>sy<\/code>\uff1a\u8868\u793a\u7cfb\u7edf\u5185\u6838\u8fdb\u7a0b\u6d88\u8017\u7684 CPU \u65f6\u95f4\u767e\u5206\u6bd4\uff0c<strong>\u4e00\u822c\u6765\u8bf4 us+sy \u5e94\u8be5\u5c0f\u4e8e 80%\uff0c\u5982\u679c\u5927\u4e8e 80%\uff0c\u8bf4\u660e\u53ef\u80fd\u5b58\u5728 CPU \u74f6\u9888<\/strong>\u3002 <code>id<\/code>\uff1a\u8868\u793a CPU \u5904\u5728\u7a7a\u95f4\u72b6\u6001\u7684\u65f6\u95f4\u767e\u5206\u6bd4\u3002 <code>wa<\/code>\uff1a\u8868\u793a IP \u7b49\u5f85\u6240\u5360\u7528\u7684 CPU \u65f6\u95f4\u767e\u5206\u6bd4\uff0c<strong>wa \u503c\u8d8a\u9ad8\uff0c\u8bf4\u660e I\/O \u7b49\u5f85\u8d8a\u4e25\u91cd\uff0c\u6839\u636e\u7ecf\u9a8c wa \u7684\u53c2\u8003\u503c\u4e3a 20%\uff0c\u5982\u679c\u8d85\u8fc7 20%\uff0c\u8bf4\u660e I\/O \u7b49\u5f85\u4e25\u91cd\uff0c\u5f15\u8d77 I\/O \u7b49\u5f85\u7684\u539f\u56e0\u53ef\u80fd\u662f\u78c1\u76d8\u5927\u91cf\u968f\u673a\u8bfb\u5199\u9020\u6210\u7684\uff0c\u4e5f\u53ef\u80fd\u662f\u78c1\u76d8\u6216\u8005\u76d1\u63a7\u5668\u7684\u8d37\u6b3e\u74f6\u9888\uff08\u4e3b\u8981\u662f\u5757\u64cd\u4f5c\uff09\u9020\u6210\u7684<\/strong>\u3002<\/p>\n<h3>sar<\/h3>\n<p>sar \u548c free \u7c7b\u4f3c <code>sar -r 3<\/code> \u6bcf\u9694\u4e09\u79d2\u8f93\u51fa\u4e00\u6b21\u5185\u5b58\u4fe1\u606f\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# sar -r 3\nLinux 3.10.0-1062.el7.x86_64 (localhost.localdomain)    2020\u5e7404\u670828\u65e5  _x86_64_        (2 CPU)\n\n15\u65f640\u520610\u79d2 kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty\n15\u65f640\u520613\u79d2    106800   1314960     92.49      2144    573248   4110864    116.82    563664    498888        36\n15\u65f640\u520616\u79d2    106816   1314944     92.49      2144    573248   4110864    116.82    563668    498888        36\n15\u65f640\u520619\u79d2    106816   1314944     92.49      2144    573248   4110864    116.82    563668    498888        36<\/code><\/pre>\n<h2>CPU \u74f6\u9888<\/h2>\n<h3>\u67e5\u770b\u673a\u5668 cpu \u6838\u6570<\/h3>\n<pre><code>CPU\u603b\u6838\u6570 = \u7269\u7406CPU\u4e2a\u6570 * \u6bcf\u9897\u7269\u7406CPU\u7684\u6838\u6570 \n\u603b\u903b\u8f91CPU\u6570 = \u7269\u7406CPU\u4e2a\u6570 * \u6bcf\u9897\u7269\u7406CPU\u7684\u6838\u6570 * \u8d85\u7ebf\u7a0b\u6570<\/code><\/pre>\n<h4>\u67e5\u770b CPU \u4fe1\u606f\uff08\u578b\u53f7\uff09<\/h4>\n<pre><code class=\"shell\">[1014154@cc69dd4c5-4tdb5 ~]$ cat \/proc\/cpuinfo | grep name | cut -f2 -d: | uniq -c\n     32  Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz<\/code><\/pre>\n<h4>\u67e5\u770b\u7269\u7406 CPU \u4e2a\u6570<\/h4>\n<pre><code class=\"shell\">[1014154@cc69dd4c5-4tdb5 ~]$ cat \/proc\/cpuinfo| grep &quot;physical id&quot;| sort| uniq| wc -l\n16<\/code><\/pre>\n<h4>\u67e5\u770b\u6bcf\u4e2a\u7269\u7406 CPU \u4e2d core \u7684\u4e2a\u6570 (\u5373\u6838\u6570)<\/h4>\n<pre><code class=\"shell\">[1014154@cc69dd4c5-4tdb5 ~]$ cat \/proc\/cpuinfo| grep &quot;cpu cores&quot;| uniq\ncpu cores       : 2<\/code><\/pre>\n<h4>\u67e5\u770b\u903b\u8f91 CPU \u7684\u4e2a\u6570<\/h4>\n<pre><code class=\"shell\">[1014154@cc69dd4c5-4tdb5 ~]$ cat \/proc\/cpuinfo| grep &quot;processor&quot;| wc -l\n32<\/code><\/pre>\n<h3>top<\/h3>\n<p>\u5728 Linux \u5185\u6838\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e2d\uff0c\u8fdb\u7a0b\u662f\u6839\u636e\u865a\u62df\u8fd0\u884c\u65f6\u95f4\uff08\u7531\u8fdb\u7a0b\u4f18\u5148\u7ea7\u3001nice \u503c\u52a0\u4e0a\u5b9e\u9645\u5360\u7528\u7684 CPU \u65f6\u95f4\u8fdb\u884c\u52a8\u6001\u8ba1\u7b97\u5f97\u51fa\uff09\u8fdb\u884c\u52a8\u6001\u8c03\u5ea6\u7684\u3002\u5728\u6267\u884c\u8fdb\u7a0b\u65f6\uff0c\u9700\u8981\u4ece\u7528\u6237\u6001\u8f6c\u6362\u5230\u5185\u6838\u6001\uff0c\u7528\u6237\u7a7a\u95f4\u4e0d\u80fd\u76f4\u63a5\u64cd\u4f5c\u5185\u6838\u7a7a\u95f4\u7684\u51fd\u6570\u3002\u901a\u5e38\u8981\u5229\u7528\u7cfb\u7edf\u8c03\u7528\u6765\u5b8c\u6210\u8fdb\u7a0b\u8c03\u5ea6\uff0c\u800c\u7528\u6237\u7a7a\u95f4\u5230\u5185\u6838\u7a7a\u95f4\u7684\u8f6c\u6362\u901a\u5e38\u662f\u901a\u8fc7\u8f6f\u4e2d\u65ad\u6765\u5b8c\u6210\u7684\u3002\u4f8b\u5982\u8981\u8fdb\u884c\u78c1\u76d8\u64cd\u4f5c\uff0c\u7528\u6237\u6001\u9700\u8981\u901a\u8fc7\u7cfb\u7edf\u8c03\u7528\u5185\u6838\u7684\u78c1\u76d8\u64cd\u4f5c\u6307\u4ee4\uff0c\u6240\u4ee5 CPU \u6d88\u8017\u7684\u65f6\u95f4\u88ab\u5207\u5206\u6210\u7528\u6237\u6001 CPU \u6d88\u8017\u3001\u7cfb\u7edf\uff08\u5185\u6838\uff09 CPU \u6d88\u8017\uff0c\u4ee5\u53ca\u78c1\u76d8\u64cd\u4f5c CPU \u6d88\u8017\u3002\u6267\u884c\u8fdb\u7a0b\u65f6\uff0c\u9700\u8981\u7ecf\u8fc7\u4e00\u7cfb\u5217\u7684\u64cd\u4f5c\uff0c\u8fdb\u7a0b\u9996\u5148\u5728\u7528\u6237\u6001\u6267\u884c\uff0c\u5728\u6267\u884c\u8fc7\u7a0b\u4e2d\u4f1a\u8fdb\u884c\u8fdb\u7a0b\u4f18\u5148\u7ea7\u7684\u8c03\u6574\uff08nice\uff09\uff0c\u901a\u8fc7\u7cfb\u7edf\u8c03\u7528\u5230\u5185\u6838\uff0c\u518d\u901a\u8fc7\u5185\u6838\u8c03\u7528\uff0c\u786c\u4e2d\u65ad\u3001\u8f6f\u4e2d\u65ad\uff0c\u8ba9\u786c\u4ef6\u6267\u884c\u4efb\u52a1\u3002\u6267\u884c\u5b8c\u6210\u4e4b\u540e\uff0c\u518d\u4ece\u5185\u6838\u6001\u8fd4\u56de\u7ed9\u7cfb\u7edf\u8c03\u7528\uff0c\u6700\u540e\u7cfb\u7edf\u8c03\u7528\u5c06\u7ed3\u679c\u8fd4\u56de\u7ed9\u7528\u6237\u6001\u7684\u8fdb\u7a0b\u3002<\/p>\n<p>top \u53ef\u4ee5\u67e5\u770b CPU \u603b\u4f53\u6d88\u8017\uff0c\u5305\u62ec\u5206\u9879\u6d88\u8017\uff0c\u5982 User\uff0cSystem\uff0cIdle\uff0cnice \u7b49\u3002<code>Shift + H<\/code> \u663e\u793a java \u7ebf\u7a0b\uff1b<code>Shift + M<\/code> \u6309\u7167\u5185\u5b58\u4f7f\u7528\u6392\u5e8f\uff1b<code>Shift + P<\/code> \u6309\u7167 CPU \u4f7f\u7528\u65f6\u95f4\uff08\u4f7f\u7528\u7387\uff09\u6392\u5e8f\uff1b<code>Shift + T<\/code> \u6309\u7167 CPU \u7d2f\u79ef\u4f7f\u7528\u65f6\u95f4\u6392\u5e8f\uff1b\u591a\u6838 CPU\uff0c\u8fdb\u5165 top \u89c6\u56fe <code>1<\/code>\uff0c\u53ef\u4ee5\u770b\u5230\u5404\u5404 CPU \u7684\u8d1f\u8f7d\u60c5\u51b5\u3002<\/p>\n<pre><code class=\"shell\">top - 15:24:11 up 8 days,  7:52,  1 user,  load average: 5.73, 6.85, 7.33\nTasks:  17 total,   1 running,  16 sleeping,   0 stopped,   0 zombie\n%Cpu(s): 13.9 us,  9.2 sy,  0.0 ni, 76.1 id,  0.1 wa,  0.0 hi,  0.1 si,  0.7 st\nKiB Mem : 11962365+total, 50086832 free, 38312808 used, 31224016 buff\/cache\nKiB Swap:        0 total,        0 free,        0 used. 75402760 avail Mem\n\n   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND\n   300 ymmapp    20   0 17.242g 1.234g  14732 S   2.3  1.1   9:40.38 java\n     1 root      20   0   15376   1988   1392 S   0.0  0.0   0:00.06 sh\n    11 root      20   0  120660  11416   1132 S   0.0  0.0   0:04.94 python\n    54 root      20   0   85328   2240   1652 S   0.0  0.0   0:00.00 su\n    55 ymmapp    20   0   17432   1808   1232 S   0.0  0.0   0:00.00 bash\n    56 ymmapp    20   0   17556   2156   1460 S   0.0  0.0   0:00.03 control.sh\n    57 ymmapp    20   0   11880    740    576 S   0.0  0.0   0:00.00 tee\n   115 ymmapp    20   0   17556   2112   1464 S   0.0  0.0   0:00.02 control_new_war\n   133 root      20   0  106032   4240   3160 S   0.0  0.0   0:00.03 sshd\n   134 ymmapp    20   0   17080   6872   3180 S   0.0  0.0   0:01.82 ops-updater\n   147 ymmapp    20   0   17956   2636   1544 S   0.0  0.0   0:00.07 control.sh\n  6538 ymmapp    20   0  115656  10532   3408 S   0.0  0.0   0:00.46 beidou-agent\n  6785 ymmapp    20   0 2572996  22512   2788 S   0.0  0.0   0:03.44 gatherinfo4dock\n 29241 root      20   0  142148   5712   4340 S   0.0  0.0   0:00.04 sshd\n 29243 1014154   20   0  142148   2296    924 S   0.0  0.0   0:00.00 sshd\n 29244 1014154   20   0   15208   2020   1640 S   0.0  0.0   0:00.00 bash\n 32641 1014154   20   0   57364   2020   1480 R   0.0  0.0   0:00.00 top<\/code><\/pre>\n<p>\u7b2c\u4e00\u884c\uff1a<code>15:24:11 up 8 days, 7:52, 1 user, load average: 5.73, 6.85, 7.33<\/code>\uff1a 15:24:11 \u7cfb\u7edf\u65f6\u95f4\uff0cup 8 days \u8fd0\u884c\u65f6\u95f4\uff0c1 user \u5f53\u524d\u767b\u5f55\u7528\u6237\u6570\uff0cload average \u8d1f\u8f7d\u5747\u8861\u60c5\u51b5\uff0c\u5206\u522b\u8868\u793a 1 \u5206\u949f\uff0c5 \u5206\u949f\uff0c15 \u5206\u949f\u8d1f\u8f7d\u60c5\u51b5\u3002<\/p>\n<p>\u7b2c\u4e8c\u884c\uff1a<code>Tasks: 17 total, 1 running, 16 sleeping, 0 stopped, 0 zombie<\/code>\uff1a \u603b\u8fdb\u7a0b\u6570 17\uff0c\u8fd0\u884c\u6570 1\uff0c\u4f11\u7720 16\uff0c\u505c\u6b62 0\uff0c\u50f5\u5c38\u8fdb\u7a0b 0\u3002<\/p>\n<p>\u7b2c\u4e09\u884c\uff1a<code>%Cpu(s): 13.9 us, 9.2 sy, 0.0 ni, 76.1 id, 0.1 wa, 0.0 hi, 0.1 si, 0.7 st<\/code>\uff1a <strong>\u7528\u6237\u7a7a\u95f4 CPU \u5360\u6bd4 13.9%<\/strong>\uff0c\u5185\u6838\u7a7a\u95f4 CPU \u5360\u6bd4 9.2%\uff0c\u6539\u53d8\u8fc7\u4f18\u5148\u7ea7\u7684\u8fdb\u7a0b CPU \u5360\u6bd4 0%\uff0c<strong>\u7a7a\u95f2 CPU \u5360\u6bd4 76.1<\/strong>\uff0c<strong>IO \u7b49\u5f85\u5360\u7528 CPU \u5360\u6bd4 0.1%<\/strong>\uff0c\u786c\u4e2d\u65ad\u5360\u7528 CPU \u5360\u6bd4 0%\uff0c\u8f6f\u4e2d\u65ad\u5360\u7528 CPU \u5360\u6bd4 0.1%, \u5f53\u524d VM \u4e2d\u7684 cpu \u65f6\u949f\u88ab\u865a\u62df\u5316\u5077\u8d70\u7684\u6bd4\u4f8b 0.7%\u3002<\/p>\n<p>\u7b2c\u56db\u548c\u7b2c\u4e94\u884c\u8868\u793a\u5185\u5b58\u548c swap \u533a\u57df\u7684\u4f7f\u7528\u60c5\u51b5\u3002<\/p>\n<p>\u7b2c\u4e03\u884c\u8868\u793a\uff1a<\/p>\n<ul>\n<li><code>PID<\/code>: \u8fdb\u7a0b id<\/li>\n<li><code>USER<\/code>: \u8fdb\u7a0b\u6240\u6709\u8005<\/li>\n<li><code>PR<\/code>: \u8fdb\u7a0b\u4f18\u5148\u7ea7<\/li>\n<li><code>NI<\/code>:nice \u503c\u3002\u8d1f\u503c\u8868\u793a\u9ad8\u4f18\u5148\u7ea7\uff0c\u6b63\u503c\u8868\u793a\u4f4e\u4f18\u5148\u7ea7<\/li>\n<li><code>VIRT<\/code>: \u865a\u62df\u5185\u5b58\uff0c\u8fdb\u7a0b\u4f7f\u7528\u7684\u865a\u62df\u5185\u5b58\u603b\u91cf\uff0c\u5355\u4f4d kb\u3002VIRT=SWAP+RES<\/li>\n<li><code>RES<\/code>: \u5e38\u9a7b\u5185\u5b58\uff0c\u8fdb\u7a0b\u4f7f\u7528\u7684\u3001\u672a\u88ab\u6362\u51fa\u7684\u7269\u7406\u5185\u5b58\u5927\u5c0f\uff0c\u5355\u4f4d kb\u3002RES=CODE+DATA<\/li>\n<li><code>SHR<\/code>: \u5171\u4eab\u5185\u5b58\uff0c\u5171\u4eab\u5185\u5b58\u5927\u5c0f\uff0c\u5355\u4f4d kb<\/li>\n<li><code>S<\/code>: \u8fdb\u7a0b\u72b6\u6001\u3002D = \u4e0d\u53ef\u4e2d\u65ad\u7684\u7761\u7720\u72b6\u6001 R = \u8fd0\u884c S = \u7761\u7720 T = \u8ddf\u8e2a \/ \u505c\u6b62 Z = \u50f5\u5c38\u8fdb\u7a0b<\/li>\n<li><code>%CPU<\/code>: \u4e0a\u6b21\u66f4\u65b0\u5230\u73b0\u5728\u7684 CPU \u65f6\u95f4\u5360\u7528\u767e\u5206\u6bd4<\/li>\n<li><code>%MEM <\/code>: \u8fdb\u7a0b\u4f7f\u7528\u7684\u7269\u7406\u5185\u5b58\u767e\u5206\u6bd4<\/li>\n<li><code>TIME+ <\/code>: \u8fdb\u7a0b\u4f7f\u7528\u7684 CPU \u65f6\u95f4\u603b\u8ba1\uff0c\u5355\u4f4d 1\/100 \u79d2<\/li>\n<li><code>COMMAND <\/code>: \u8fdb\u7a0b\u540d\u79f0\uff08\u547d\u4ee4\u540d \/ \u547d\u4ee4\u884c\uff09<\/li>\n<\/ul>\n<h4>\u8ba1\u7b97\u5728 cpu load \u91cc\u9762\u7684 uninterruptedsleep \u7684\u4efb\u52a1\u6570\u91cf<\/h4>\n<pre><code>top -b -n 1 | awk '{if (NR&lt;=7)print;else if($8==&quot;D&quot;){print;count++}}END{print &quot;Total status D:&quot;count}'\n[root@localhost ~]# top -b -n 1 | awk '{if (NR&lt;=7)print;else if($8==&quot;D&quot;){print;count++}}END{print &quot;Total status D:&quot;count}'\ntop - 15:35:05 up 1 day, 26 min,  3 users,  load average: 0.00, 0.01, 0.05\nTasks: 225 total,   1 running, 224 sleeping,   0 stopped,   0 zombie\n%Cpu(s):  2.5 us, 10.0 sy,  0.0 ni, 87.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st\nKiB Mem :  1421760 total,   104516 free,   777344 used,   539900 buff\/cache\nKiB Swap:  2097148 total,  2071152 free,    25996 used.   456028 avail Mem\n\n   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND\nTotal status D:<\/code><\/pre>\n<h3>sar<\/h3>\n<p>\u901a\u8fc7 <code>sar -u 3<\/code> \u53ef\u4ee5\u67e5\u770b CUP \u603b\u4f53\u6d88\u8017\u5360\u6bd4\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# sar -u 3\nLinux 3.10.0-1062.el7.x86_64 (localhost.localdomain)    2020\u5e7405\u670801\u65e5  _x86_64_        (2 CPU)\n\n15\u65f618\u520603\u79d2     CPU     %user     %nice   %system   %iowait    %steal     %idle\n15\u65f618\u520606\u79d2     all      0.00      0.00      0.17      0.00      0.00     99.83\n15\u65f618\u520609\u79d2     all      0.00      0.00      0.17      0.00      0.00     99.83\n15\u65f618\u520612\u79d2     all      0.17      0.00      0.17      0.00      0.00     99.66\n15\u65f618\u520615\u79d2     all      0.00      0.00      0.00      0.00      0.00    100.00\n15\u65f618\u520618\u79d2     all      0.00      0.00      0.00      0.00      0.00    100.00<\/code><\/pre>\n<ul>\n<li><code>%user<\/code>\uff1a\u7528\u6237\u7a7a\u95f4\u7684 CPU \u4f7f\u7528\u3002<\/li>\n<li><code>%nice<\/code>\uff1a \u6539\u53d8\u8fc7\u4f18\u5148\u7ea7\u7684\u8fdb\u7a0b\u7684 CPU \u4f7f\u7528\u7387\u3002<\/li>\n<li><code>%system<\/code>\uff1a \u5185\u6838\u7a7a\u95f4\u7684 CPU \u4f7f\u7528\u7387\u3002<\/li>\n<li><code>%iowait<\/code>\uff1a CPU \u7b49\u5f85 IO \u7684\u767e\u5206\u6bd4 \u3002<\/li>\n<li><code>%steal<\/code>\uff1a \u865a\u62df\u673a\u7684\u865a\u62df\u673a CPU \u4f7f\u7528\u7684 CPU\u3002<\/li>\n<li><code>%idle<\/code>\uff1a \u7a7a\u95f2\u7684 CPU\u3002<\/li>\n<\/ul>\n<p>\u5728\u4ee5\u4e0a\u7684\u663e\u793a\u5f53\u4e2d\uff0c\u4e3b\u8981\u770b <code>%iowait<\/code> \u548c <code>%idle<\/code>\uff1a<\/p>\n<ul>\n<li>\u82e5 <code>%iowait<\/code> \u7684\u503c\u8fc7\u9ad8\uff0c\u8868\u793a\u786c\u76d8\u5b58\u5728 I\/O \u74f6\u9888\uff1b<\/li>\n<li>\u82e5 <code>%idle<\/code> \u7684\u503c\u9ad8\u4f46\u7cfb\u7edf\u54cd\u5e94\u6162\u65f6\uff0c\u6709\u53ef\u80fd\u662f CPU \u7b49\u5f85\u5206\u914d\u5185\u5b58\uff0c\u6b64\u65f6\u5e94\u52a0\u5927\u5185\u5b58\u5bb9\u91cf\uff1b<\/li>\n<li>\u82e5 <code>%idle<\/code> \u7684\u503c\u6301\u7eed\u4f4e\u4e8e 10\uff0c\u5219\u7cfb\u7edf\u7684 CPU \u5904\u7406\u80fd\u529b\u76f8\u5bf9\u8f83\u4f4e\uff0c\u8868\u660e\u7cfb\u7edf\u4e2d\u6700\u9700\u8981\u89e3\u51b3\u7684\u8d44\u6e90\u662f CPU\uff1b<\/li>\n<\/ul>\n<h3>\u5b9a\u4f4d\u7ebf\u4e0a\u6700\u8017 CPU \u7684\u7ebf\u7a0b<\/h3>\n<h4>\u51c6\u5907\u5de5\u4f5c<\/h4>\n<p>\u542f\u52a8\u4e00\u4e2a\u7a0b\u5e8f\u3002 <code>arthas-demo<\/code> \u662f\u4e00\u4e2a\u7b80\u5355\u7684\u7a0b\u5e8f\uff0c\u6bcf\u9694\u4e00\u79d2\u751f\u6210\u4e00\u4e2a\u968f\u673a\u6570\uff0c\u518d\u6267\u884c\u8d28\u56e0\u6570\u5206\u89e3\uff0c\u5e76\u6253\u5370\u51fa\u5206\u89e3\u7ed3\u679c\u3002<\/p>\n<pre><code>curl -O https:\/\/alibaba.github.io\/arthas\/arthas-demo.jar\njava -jar arthas-demo.jar\n[root@localhost ~]# curl -O https:\/\/alibaba.github.io\/arthas\/arthas-demo.jar\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100  3743  100  3743    0     0   3022      0  0:00:01  0:00:01 --:--:--  3023\n[root@localhost ~]# java -jar arthas-demo.jar\n1813=7*7*37\nillegalArgumentCount:  1, number is: -180005, need &gt;= 2\nillegalArgumentCount:  2, number is: -111175, need &gt;= 2\n18505=5*3701\n166691=7*23813\n105787=11*59*163\n60148=2*2*11*1367\n196983=3*3*43*509\nillegalArgumentCount:  3, number is: -173479, need &gt;= 2\nillegalArgumentCount:  4, number is: -112840, need &gt;= 2\n39502=2*19751\n....<\/code><\/pre>\n<h4>\u901a\u8fc7 <code>top<\/code> \u547d\u4ee4\u627e\u5230\u6700\u8017\u65f6\u7684\u8fdb\u7a0b<\/h4>\n<pre><code class=\"shell\">[root@localhost ~]# top\ntop - 11:11:05 up 20:02,  3 users,  load average: 0.09, 0.07, 0.05\nTasks: 225 total,   1 running, 224 sleeping,   0 stopped,   0 zombie\n%Cpu(s):  0.0 us,  0.7 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st\nKiB Mem :  1421760 total,   135868 free,   758508 used,   527384 buff\/cache\nKiB Swap:  2097148 total,  2070640 free,    26508 used.   475852 avail Mem\nChange delay from 3.0 to\n   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND\n 98344 root      20   0 2422552  23508  12108 S   0.7  1.7   0:00.32 java\n     1 root      20   0  194100   6244   3184 S   0.0  0.4   0:20.41 systemd\n     2 root      20   0       0      0      0 S   0.0  0.0   0:00.12 kthreadd\n     4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker\/0:0H\n     6 root      20   0       0      0      0 S   0.0  0.0   0:20.25 ksoftirqd\/0<\/code><\/pre>\n<p>\u627e\u5230\u8fdb\u7a0b\u53f7\u662f 98344\u3002<\/p>\n<h4>\u627e\u5230\u8fdb\u7a0b\u4e2d\u6700\u8017 CUP \u7684\u7ebf\u7a0b<\/h4>\n<p>\u4f7f\u7528 <code>ps -Lp #pid cu<\/code> \u547d\u4ee4\uff0c\u67e5\u770b\u67d0\u4e2a\u8fdb\u7a0b\u4e2d\u7684\u7ebf\u7a0b CPU \u6d88\u8017\u6392\u5e8f\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# ps -Lp 98344 cu\nUSER        PID    LWP %CPU NLWP %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND\nroot      98344  98344  0.0   10  4.1 2422552 59060 pts\/0   Sl+  11:09   0:00 java\nroot      98344  98345  0.0   10  4.1 2422552 59060 pts\/0   Sl+  11:09   0:04 java\nroot      98344  98346  0.0   10  4.1 2422552 59060 pts\/0   Sl+  11:09   0:01 VM Thread\nroot      98344  98347  0.0   10  4.1 2422552 59060 pts\/0   Sl+  11:09   0:00 Reference Handl\nroot      98344  98348  0.0   10  4.1 2422552 59060 pts\/0   Sl+  11:09   0:00 Finalizer\nroot      98344  98349  0.0   10  4.1 2422552 59060 pts\/0   Sl+  11:09   0:00 Signal Dispatch\nroot      98344  98350  0.0   10  4.1 2422552 59060 pts\/0   Sl+  11:09   0:05 C2 CompilerThre\nroot      98344  98351  0.0   10  4.1 2422552 59060 pts\/0   Sl+  11:09   0:00 C1 CompilerThre\nroot      98344  98352  0.0   10  4.1 2422552 59060 pts\/0   Sl+  11:09   0:00 Service Thread\nroot      98344  98353  0.1   10  4.1 2422552 59060 pts\/0   Sl+  11:09   0:19 VM Periodic Tas<\/code><\/pre>\n<p>\u770b <code>TIME<\/code> \u5217\u53ef\u4ee5\u770b\u51fa\u90a3\u4e2a\u7ebf\u7a0b\u8017\u8d39 CUP \u591a\uff0c\u6839\u636e <code>LWP<\/code> \u5217\u53ef\u4ee5\u770b\u5230\u7ebf\u7a0b\u7684 ID \u53f7\uff0c\u4f46\u662f\u9700\u8981\u8f6c\u6362\u6210 16 \u8fdb\u5236\u624d\u53ef\u4ee5\u67e5\u8be2\u7ebf\u7a0b\u5806\u6808\u4fe1\u606f\u3002<\/p>\n<h4>\u83b7\u53d6\u7ebf\u7a0b id \u7684\u5341\u516d\u8fdb\u5236\u7801<\/h4>\n<p>\u4f7f\u7528 <code>printf '%x\/n' 98345<\/code> \u547d\u4ee4\u505a\u8fdb\u5236\u8f6c\u6362\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# printf '%x\/n' 98345\n18029<\/code><\/pre>\n<h4>\u67e5\u770b\u7ebf\u7a0b\u5806\u6808\u4fe1\u606f<\/h4>\n<p>\u4f7f\u7528 jstack \u83b7\u53d6\u5806\u6808\u4fe1\u606f <code>jstack 98344 | grep -A 10 18029<\/code>\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# jstack 98344 | grep -A 10 18029\n&quot;main&quot; #1 prio=5 os_prio=0 tid=0x00007fb88404b800 nid=0x18029 waiting on condition [0x00007fb88caab000]\n   java.lang.Thread.State: TIMED_WAITING (sleeping)\n        at java.lang.Thread.sleep(Native Method)\n        at java.lang.Thread.sleep(Thread.java:340)\n        at java.util.concurrent.TimeUnit.sleep(TimeUnit.java:386)\n        at demo.MathGame.main(MathGame.java:17)\n\n&quot;VM Thread&quot; os_prio=0 tid=0x00007fb8840f2800 nid=0x1802a runnable\n\n&quot;VM Periodic Task Thread&quot; os_prio=0 tid=0x00007fb884154000 nid=0x18031 waiting on condition<\/code><\/pre>\n<p>\u901a\u8fc7\u547d\u4ee4\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u8fd9\u4e2a\u7ebf\u7a0b\u7684\u5bf9\u5e94\u7684\u8017\u65f6\u4ee3\u7801\u662f\u5728 <code>demo.MathGame.main(MathGame.java:17)<\/code><\/p>\n<pre><code>grep -C 5 foo file \u663e\u793afile\u6587\u4ef6\u91cc\u5339\u914dfoo\u5b57\u4e32\u90a3\u884c\u4ee5\u53ca\u4e0a\u4e0b5\u884c\ngrep -B 5 foo file \u663e\u793afoo\u53ca\u524d5\u884c\ngrep -A 5 foo file \u663e\u793afoo\u53ca\u540e5\u884c<\/code><\/pre>\n<h2>\u7f51\u7edc\u74f6\u9888<\/h2>\n<h3>\u5b9a\u4f4d\u4e22\u5305\uff0c\u9519\u5305\u60c5\u51b5<\/h3>\n<p><code>watch more \/proc\/net\/dev<\/code> \u7528\u4e8e\u5b9a\u4f4d\u4e22\u5305\uff0c\u9519\u5305\u60c5\u51b5\uff0c\u4ee5\u4fbf\u770b\u7f51\u7edc\u74f6\u9888\uff0c\u91cd\u70b9\u5173\u6ce8 drop (\u5305\u88ab\u4e22\u5f03) \u548c\u7f51\u7edc\u5305\u4f20\u9001\u7684\u603b\u91cf\uff0c\u4e0d\u8981\u8d85\u8fc7\u7f51\u7edc\u4e0a\u9650\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# watch -n 2 more \/proc\/net\/dev\nEvery 2.0s: more \/proc\/net\/dev                                                                                                                                                   Fri May  1 17:16:55 2020\n\nInter-|   Receive                                                |  Transmit\n face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed\n    lo:   10025     130    0    0    0     0          0         0    10025     130    0    0    0     0       0          0\n ens33: 759098071  569661    0    0    0     0          0         0 19335572  225551    0    0    0     0       0          0<\/code><\/pre>\n<ul>\n<li>\u6700\u5de6\u8fb9\u7684\u8868\u793a\u63a5\u53e3\u7684\u540d\u5b57\uff0cReceive \u8868\u793a\u6536\u5305\uff0cTransmit \u8868\u793a\u53d1\u9001\u5305\uff1b<\/li>\n<li><code>bytes<\/code>\uff1a\u8868\u793a\u6536\u53d1\u7684\u5b57\u8282\u6570\uff1b<\/li>\n<li><code>packets<\/code>\uff1a\u8868\u793a\u6536\u53d1\u6b63\u786e\u7684\u5305\u91cf\uff1b<\/li>\n<li><code>errs<\/code>\uff1a\u8868\u793a\u6536\u53d1\u9519\u8bef\u7684\u5305\u91cf\uff1b<\/li>\n<li><code>drop<\/code>\uff1a\u8868\u793a\u6536\u53d1\u4e22\u5f03\u7684\u5305\u91cf\uff1b<\/li>\n<\/ul>\n<h3>\u67e5\u770b\u8def\u7531\u7ecf\u8fc7\u7684\u5730\u5740<\/h3>\n<p><code>traceroute ip<\/code> \u53ef\u4ee5\u67e5\u770b\u8def\u7531\u7ecf\u8fc7\u7684\u5730\u5740\uff0c\u5e38\u7528\u6765\u7edf\u8ba1\u7f51\u7edc\u5728\u5404\u4e2a\u8def\u7531\u533a\u6bb5\u7684\u8017\u65f6\uff0c\u5982\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# traceroute 14.215.177.38\ntraceroute to 14.215.177.38 (14.215.177.38), 30 hops max, 60 byte packets\n 1  CD-HZTK5H2.mshome.net (192.168.137.1)  0.126 ms * *\n 2  * * *\n 3  10.250.112.3 (10.250.112.3)  12.587 ms  12.408 ms  12.317 ms\n 4  172.16.227.230 (172.16.227.230)  2.152 ms  2.040 ms  1.956 ms\n 5  172.16.227.202 (172.16.227.202)  11.884 ms  11.746 ms  12.692 ms\n 6  172.16.227.65 (172.16.227.65)  2.665 ms  3.143 ms  2.923 ms\n 7  171.223.206.217 (171.223.206.217)  2.834 ms  2.752 ms  2.654 ms\n 8  182.150.18.205 (182.150.18.205)  5.145 ms  5.815 ms  5.542 ms\n 9  110.188.6.33 (110.188.6.33)  3.514 ms 171.208.199.185 (171.208.199.185)  3.431 ms 171.208.199.181 (171.208.199.181)  10.768 ms\n10  202.97.29.17 (202.97.29.17)  29.574 ms 202.97.30.146 (202.97.30.146)  32.619 ms *\n11  113.96.5.126 (113.96.5.126)  36.062 ms 113.96.5.70 (113.96.5.70)  35.940 ms 113.96.4.42 (113.96.4.42)  45.859 ms\n12  90.96.135.219.broad.fs.gd.dynamic.163data.com.cn (219.135.96.90)  35.680 ms  35.468 ms  35.304 ms\n13  14.215.32.102 (14.215.32.102)  35.135 ms 14.215.32.110 (14.215.32.110)  35.613 ms 14.29.117.242 (14.29.117.242)  54.712 ms\n14  * 14.215.32.134 (14.215.32.134)  49.518 ms 14.215.32.122 (14.215.32.122)  47.652 ms\n15  * * *\n...<\/code><\/pre>\n<h3>\u67e5\u770b\u7f51\u7edc\u9519\u8bef<\/h3>\n<p><code>netstat -i<\/code> \u53ef\u4ee5\u67e5\u770b\u7f51\u7edc\u9519\u8bef\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# netstat -i\nKernel Interface table\nIface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg\nens33            1500   570291      0      0 0        225897      0      0      0 BMRU\nlo              65536      130      0      0 0           130      0      0      0 LRU<\/code><\/pre>\n<ul>\n<li><code>Iface<\/code>: \u7f51\u7edc\u63a5\u53e3\u540d\u79f0\uff1b<\/li>\n<li><code>MTU<\/code>: \u6700\u5927\u4f20\u8f93\u5355\u5143\uff0c\u5b83\u9650\u5236\u4e86\u6570\u636e\u5e27\u7684\u6700\u5927\u957f\u5ea6\uff0c\u4e0d\u540c\u7684\u7f51\u7edc\u7c7b\u578b\u90fd\u6709\u4e00\u4e2a\u4e0a\u9650\u503c\uff0c\u5982\uff1a\u4ee5\u592a\u7f51\u7684 MTU \u662f 1500\uff1b<\/li>\n<li><code>RX-OK<\/code>\uff1a\u63a5\u6536\u65f6\uff0c\u6b63\u786e\u7684\u6570\u636e\u5305\u6570\u3002<\/li>\n<li><code>RX-ERR<\/code>\uff1a\u63a5\u6536\u65f6\uff0c\u4ea7\u751f\u9519\u8bef\u7684\u6570\u636e\u5305\u6570\u3002<\/li>\n<li><code>RX-DRP<\/code>\uff1a\u63a5\u6536\u65f6\uff0c\u4e22\u5f03\u7684\u6570\u636e\u5305\u6570\u3002<\/li>\n<li><code>RX-OVR<\/code>\uff1a\u63a5\u6536\u65f6\uff0c\u7531\u4e8e\u8fc7\u901f\uff08\u5728\u6570\u636e\u4f20\u8f93\u4e2d\uff0c\u7531\u4e8e\u63a5\u6536\u8bbe\u5907\u4e0d\u80fd\u63a5\u6536\u6309\u7167\u53d1\u9001\u901f\u7387\u4f20\u9001\u6765\u7684\u6570\u636e\u800c\u4f7f\u6570\u636e\u4e22\u5931\uff09\u800c\u4e22\u5931\u7684\u6570\u636e\u5305\u6570\u3002<\/li>\n<li><code>TX-OK<\/code>\uff1a\u53d1\u9001\u65f6\uff0c\u6b63\u786e\u7684\u6570\u636e\u5305\u6570\u3002<\/li>\n<li><code>TX-ERR<\/code>\uff1a\u53d1\u9001\u65f6\uff0c\u4ea7\u751f\u9519\u8bef\u7684\u6570\u636e\u5305\u6570\u3002<\/li>\n<li><code>TX-DRP<\/code>\uff1a\u53d1\u9001\u65f6\uff0c\u4e22\u5f03\u7684\u6570\u636e\u5305\u6570\u3002<\/li>\n<li><code>TX-OVR<\/code>\uff1a\u53d1\u9001\u65f6\uff0c\u7531\u4e8e\u8fc7\u901f\u800c\u4e22\u5931\u7684\u6570\u636e\u5305\u6570\u3002<\/li>\n<li><code>Flg<\/code>\uff1a\u6807\u5fd7\uff0cB \u5df2\u7ecf\u8bbe\u7f6e\u4e86\u4e00\u4e2a\u5e7f\u64ad\u5730\u5740\u3002L \u8be5\u63a5\u53e3\u662f\u4e00\u4e2a\u56de\u9001\u8bbe\u5907\u3002M \u63a5\u6536\u6240\u6709\u6570\u636e\u5305\uff08\u6df7\u4e71\u6a21\u5f0f\uff09\u3002N \u907f\u514d\u8ddf\u8e2a\u3002O \u5728\u8be5\u63a5\u53e3\u4e0a\uff0c\u7981\u7528 ARP\u3002P \u8fd9\u662f\u4e00\u4e2a\u70b9\u5230\u70b9\u94fe\u63a5\u3002R \u63a5\u53e3\u6b63\u5728\u8fd0\u884c\u3002U \u63a5\u53e3\u5904\u4e8e \u201c\u6d3b\u52a8\u201d \u72b6\u6001\u3002<\/li>\n<\/ul>\n<h3>\u5305\u7684\u91cd\u4f20\u7387<\/h3>\n<p><code>cat \/proc\/net\/snmp<\/code> \u7528\u6765\u67e5\u770b\u548c\u5206\u6790 240 \u79d2\u5185\u7f51\u7edc\u5305\u91cf\uff0c\u6d41\u91cf\uff0c\u9519\u5305\uff0c\u4e22\u5305\u3002\u901a\u8fc7 <code>RetransSegs<\/code> \u548c <code>OutSegs<\/code> \u6765\u8ba1\u7b97\u91cd\u4f20\u7387 <code>tcpetr=RetransSegs\/OutSegs<\/code>\u3002<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# cat \/proc\/net\/snmp\nIp: Forwarding DefaultTTL InReceives InHdrErrors InAddrErrors ForwDatagrams InUnknownProtos InDiscards InDelivers OutRequests OutDiscards OutNoRoutes ReasmTimeout ReasmReqds ReasmOKs ReasmFails FragOKs FragFails FragCreates\nIp: 1 64 241708 0 0 0 0 0 238724 225517 15 0 0 0 0 0 0 0 0\nIcmp: InMsgs InErrors InCsumErrors InDestUnreachs InTimeExcds InParmProbs InSrcQuenchs InRedirects InEchos InEchoReps InTimestamps InTimestampReps InAddrMasks InAddrMaskReps OutMsgs OutErrors OutDestUnreachs OutTimeExcds OutParmProbs OutSrcQuenchs OutRedirects OutEchos OutEchoReps OutTimestamps OutTimestampReps OutAddrMasks OutAddrMaskReps\nIcmp: 149 0 0 50 99 0 0 0 0 0 0 0 0 0 147 0 147 0 0 0 0 0 0 0 0 0 0\nIcmpMsg: InType3 InType11 OutType3\nIcmpMsg: 50 99 147\nTcp: RtoAlgorithm RtoMin RtoMax MaxConn ActiveOpens PassiveOpens AttemptFails EstabResets CurrEstab InSegs OutSegs RetransSegs InErrs OutRsts InCsumErrors\nTcp: 1 200 120000 -1 376 6 0 0 4 236711 223186 292 0 4 0\nUdp: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors InCsumErrors\nUdp: 1405 438 0 1896 0 0 0\nUdpLite: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors InCsumErrors\nUdpLite: 0 0 0 0 0 0 0<\/code><\/pre>\n<p>\u91cd\u4f20\u7387 = 292\/223186\u22480.13%<\/p>\n<ul>\n<li>\u5e73\u5747\u6bcf\u79d2\u65b0\u589e TCP \u8fde\u63a5\u6570\uff1a\u901a\u8fc7 \/proc\/net\/snmp \u6587\u4ef6\u5f97\u5230\u6700\u8fd1 240 \u79d2\u5185 PassiveOpens \u7684\u589e\u91cf\uff0c\u9664\u4ee5 240 \u5f97\u5230\u6bcf\u79d2\u7684\u5e73\u5747\u589e\u91cf\uff1b<\/li>\n<li>\u673a\u5668\u7684 TCP \u8fde\u63a5\u6570 \uff1a\u901a\u8fc7 \/proc\/net\/snmp \u6587\u4ef6\u7684 CurrEstab \u5f97\u5230 TCP \u8fde\u63a5\u6570\uff1b<\/li>\n<li>\u5e73\u5747\u6bcf\u79d2\u7684 UDP \u63a5\u6536\u6570\u636e\u62a5\uff1a\u901a\u8fc7 \/proc\/net\/snmp \u6587\u4ef6\u5f97\u5230\u6700\u8fd1 240 \u79d2\u5185 InDatagrams \u7684\u589e\u91cf\uff0c\u9664\u4ee5 240 \u5f97\u5230\u5e73\u5747\u6bcf\u79d2\u7684 UDP \u63a5\u6536\u6570\u636e\u62a5\uff1b<\/li>\n<li>\u5e73\u5747\u6bcf\u79d2\u7684 UDP \u53d1\u9001\u6570\u636e\u62a5\uff1a\u901a\u8fc7 \/proc\/net\/snmp \u6587\u4ef6\u5f97\u5230\u6700\u8fd1 240 \u79d2\u5185 OutDatagrams \u7684\u589e\u91cf\uff0c\u9664\u4ee5 240 \u5f97\u5230\u5e73\u5747\u6bcf\u79d2\u7684 UDP \u53d1\u9001\u6570\u636e\u62a5\uff1b<\/li>\n<\/ul>\n<h2>\u78c1\u76d8\u74f6\u9888<\/h2>\n<h3>\u67e5\u78c1\u76d8\u7a7a\u95f4<\/h3>\n<h4>\u67e5\u770b\u78c1\u76d8\u5269\u4f59\u7a7a\u95f4<\/h4>\n<p>\u67e5\u770b\u78c1\u76d8\u5269\u4f59\u7a7a\u95f4\u4f7f\u7528 <code>df -hl<\/code> \u547d\u4ee4\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# df -hl\n\u6587\u4ef6\u7cfb\u7edf                       \u5bb9\u91cf  \u5df2\u7528  \u53ef\u7528 \u5df2\u7528% \u6302\u8f7d\u70b9\ndevtmpfs                       678M     0  678M    0% \/dev\ntmpfs                          695M     0  695M    0% \/dev\/shm\ntmpfs                          695M   28M  667M    4% \/run\ntmpfs                          695M     0  695M    0% \/sys\/fs\/cgroup\n\/dev\/mapper\/centos_aubin-root   27G  5.6G   22G   21% \/\n\/dev\/sda1                     1014M  211M  804M   21% \/boot<\/code><\/pre>\n<h4>\u67e5\u770b\u78c1\u76d8\u5df2\u4f7f\u7528\u7a7a\u95f4<\/h4>\n<p><code>du -sh<\/code> \u547d\u4ee4\u662f\u67e5\u770b\u78c1\u76d8\u5df2\u4f7f\u7528\u7a7a\u95f4\u7684\u60c5\u51b5\uff0c\u8fd9\u91cc\u7684 \u201c\u5df2\u4f7f\u7528\u7684\u78c1\u76d8\u7a7a\u95f4\u201d \u610f\u601d\u662f\u6307\u5b9a\u7684\u6587\u4ef6\u4e0b\u7684\u6574\u4e2a\u6587\u4ef6\u5c42\u6b21\u7ed3\u6784\u6240\u4f7f\u7528\u7684\u7a7a\u95f4\uff0c\u5728\u6ca1\u7ed9\u5b9a\u53c2\u6570\u7684\u60c5\u51b5\u4e0b\uff0c<code>du<\/code> \u62a5\u544a\u5f53\u524d\u76ee\u5f55\u6240\u4f7f\u7528\u7684\u78c1\u76d8\u7a7a\u95f4\u3002<strong>\u5176\u5b9e\u5c31\u662f\u663e\u793a\u6587\u4ef6\u6216\u76ee\u5f55\u6240\u5360\u7528\u7684\u78c1\u76d8\u7a7a\u95f4\u7684\u60c5\u51b5<\/strong>\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# du -sh\n64K  <\/code><\/pre>\n<ul>\n<li><code>-h<\/code>\uff1a\u8f93\u51fa\u6587\u4ef6\u7cfb\u7edf\u5206\u533a\u4f7f\u7528\u7684\u60c5\u51b5\uff0c\u4f8b\u5982\uff1a10KB\uff0c10MB\uff0c10GB \u7b49\u3002<\/li>\n<li><code>-s<\/code>\uff1a\u663e\u793a\u6587\u4ef6\u6216\u6574\u4e2a\u76ee\u5f55\u7684\u5927\u5c0f\uff0c\u9ed8\u8ba4\u5355\u4f4d\u662f KB\u3002<\/li>\n<\/ul>\n<blockquote><p><code>du<\/code> \u7684\u8be6\u7ec6\u4fe1\u606f\u53ef\u4ee5\u901a\u8fc7 <code>man du<\/code> \u67e5\u770b\u3002<\/p><\/blockquote>\n<h3>\u67e5\u770b\u78c1\u76d8\u8bfb\u5199\u60c5\u51b5<\/h3>\n<h4>\u67e5\u770b\u78c1\u76d8\u603b\u4f53\u8bfb\u5199\u60c5\u51b5<\/h4>\n<p>\u901a <code>iostat<\/code> \u67e5\u770b\u78c1\u76d8\u603b\u4f53\u7684\u8bfb\u5199\u60c5\u51b5\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# iostat\nLinux 3.10.0-1062.el7.x86_64 (localhost.localdomain)    2020\u5e7405\u670802\u65e5  _x86_64_        (2 CPU)\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n           0.17    0.00    0.20    0.46    0.00   99.17\n\nDevice:            tps    kB_read\/s    kB_wrtn\/s    kB_read    kB_wrtn\nsda               1.56        30.45        39.61    4659620    6060644\nscd0              0.00         0.02         0.00       3102          0\ndm-0              1.96        30.01        38.42    4591998    5878155\ndm-1              0.09         0.09         0.30      13840      45328<\/code><\/pre>\n<ul>\n<li><code>tps<\/code>\uff1a\u8be5\u8bbe\u5907\u6bcf\u79d2\u7684\u4f20\u8f93\u6b21\u6570\u3002<\/li>\n<li><code>kB_read\/s<\/code>\uff1a\u6bcf\u79d2\u4ece\u8bbe\u5907\uff08drive expressed\uff09\u8bfb\u53d6\u7684\u6570\u636e\u91cf\uff1b<\/li>\n<li><code>kB_wrtn\/s<\/code>\uff1a\u6bcf\u79d2\u5411\u8bbe\u5907\uff08drive expressed\uff09\u5199\u5165\u7684\u6570\u636e\u91cf\uff1b<\/li>\n<li><code>kB_read<\/code>\uff1a \u8bfb\u53d6\u7684\u603b\u6570\u636e\u91cf\uff1b<\/li>\n<li><code>kB_wrtn<\/code>\uff1a\u5199\u5165\u7684\u603b\u6570\u91cf\u6570\u636e\u91cf\uff1b<\/li>\n<\/ul>\n<h4>\u67e5\u770b\u78c1\u76d8\u8be6\u7ec6\u8bfb\u5199\u60c5\u51b5<\/h4>\n<p>\u901a\u8fc7 <code>iostat -x 1 3<\/code> \u53ef\u4ee5\u770b\u5230\u78c1\u76d8\u8be6\u7ec6\u8bfb\u5199\u60c5\u51b5\uff0c\u6ca1\u9694\u4e00\u79d2\u8f93\u51fa\u4e00\u6b21\u4e00\u5171\u8f93\u51fa 3 \u6b21\uff0c\u5f53\u770b\u5230 I\/O \u7b49\u5f85\u65f6\u95f4\u6240\u5360 CPU \u65f6\u95f4\u7684\u6bd4\u91cd\u5f88\u9ad8\u7684\u65f6\u5019\uff0c\u9996\u5148\u8981\u68c0\u67e5\u7684\u5c31\u662f\u673a\u5668\u662f\u5426\u6b63\u5728\u5927\u91cf\u4f7f\u7528\u4ea4\u6362\u7a7a\u95f4\uff0c\u540c\u65f6\u5173\u6ce8 <code>iowait<\/code> \u5360\u6bd4 cpu \u7684\u6d88\u8017\u662f\u5426\u5f88\u5927\uff0c\u5982\u679c\u5927\u8bf4\u660e\u78c1\u76d8\u5b58\u5728\u5927\u7684\u74f6\u9888\uff0c\u540c\u65f6\u5173\u6ce8 <code>await<\/code>\uff0c\u8868\u793a\u78c1\u76d8\u7684\u54cd\u5e94\u65f6\u95f4\u4ee5\u4fbf\u5c0f\u4e8e 5ms\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# iostat -x 1 3\nLinux 3.10.0-1062.el7.x86_64 (localhost.localdomain)    2020\u5e7405\u670802\u65e5  _x86_64_        (2 CPU)\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n           0.17    0.00    0.20    0.46    0.00   99.16\n\nDevice:         rrqm\/s   wrqm\/s     r\/s     w\/s    rkB\/s    wkB\/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util\nsda               0.01     0.49    0.63    0.95    30.59    39.78    89.58     0.34  214.23   49.16  323.48   8.55   1.34\nscd0              0.00     0.00    0.00    0.00     0.02     0.00    98.48     0.00    1.21    1.21    0.00   0.95   0.00\ndm-0              0.00     0.00    0.62    1.35    30.15    38.59    69.70     0.91  460.67   49.12  648.54   6.66   1.31\ndm-1              0.00     0.00    0.02    0.07     0.09     0.30     8.52     0.04  442.74   95.43  521.17   6.91   0.06<\/code><\/pre>\n<p><code>avg-cpu<\/code> \u8868\u793a\u603b\u4f53 cpu \u4f7f\u7528\u60c5\u51b5\u7edf\u8ba1\u4fe1\u606f\uff0c\u5bf9\u4e8e\u591a\u6838 cpu\uff0c\u8fd9\u91cc\u4e3a\u6240\u6709 cpu \u7684\u5e73\u5747\u503c\uff1a<\/p>\n<ul>\n<li><code>%user<\/code>\uff1aCPU \u5904\u5728\u7528\u6237\u6a21\u5f0f\u4e0b\u7684\u65f6\u95f4\u767e\u5206\u6bd4\u3002<\/li>\n<li><code>%nice<\/code>\uff1aCPU \u5904\u5728\u5e26 NICE \u503c\u7684\u7528\u6237\u6a21\u5f0f\u4e0b\u7684\u65f6\u95f4\u767e\u5206\u6bd4\u3002<\/li>\n<li><code>%system<\/code>\uff1aCPU \u5904\u5728\u7cfb\u7edf\u6a21\u5f0f\u4e0b\u7684\u65f6\u95f4\u767e\u5206\u6bd4\u3002<\/li>\n<li><code>%iowait<\/code>\uff1aCPU \u7b49\u5f85\u8f93\u5165\u8f93\u51fa\u5b8c\u6210\u65f6\u95f4\u7684\u767e\u5206\u6bd4\uff0c<strong>\u5982\u679c % iowait \u7684\u503c\u8fc7\u9ad8\uff0c\u8868\u793a\u786c\u76d8\u5b58\u5728 I\/O \u74f6\u9888<\/strong>\u3002<\/li>\n<li><code>%steal<\/code>\uff1a\u7ba1\u7406\u7a0b\u5e8f\u7ef4\u62a4\u53e6\u4e00\u4e2a\u865a\u62df\u5904\u7406\u5668\u65f6\uff0c\u865a\u62df CPU \u7684\u65e0\u610f\u8bc6\u7b49\u5f85\u65f6\u95f4\u767e\u5206\u6bd4\u3002<\/li>\n<li><code>%idle<\/code>\uff1aCPU \u7a7a\u95f2\u65f6\u95f4\u767e\u5206\u6bd4\uff0c<strong>\u5982\u679c % idle \u503c\u9ad8\uff0c\u8868\u793a CPU \u8f83\u7a7a\u95f2\uff1b\u5982\u679c % idle \u503c\u9ad8\u4f46\u7cfb\u7edf\u54cd\u5e94\u6162\u65f6\uff0c\u53ef\u80fd\u662f CPU \u7b49\u5f85\u5206\u914d\u5185\u5b58\uff0c\u5e94\u52a0\u5927\u5185\u5b58\u5bb9\u91cf\uff1b\u5982\u679c % idle \u503c\u6301\u7eed\u4f4e\u4e8e 10\uff0c\u8868\u660e CPU \u5904\u7406\u80fd\u529b\u76f8\u5bf9\u8f83\u4f4e\uff0c\u7cfb\u7edf\u4e2d\u6700\u9700\u8981\u89e3\u51b3\u7684\u8d44\u6e90\u662f CPU\u3002<\/strong>\u3002<\/li>\n<\/ul>\n<p><code>Device<\/code> \u8868\u793a\u8bbe\u5907\u4fe1\u606f\uff1a<\/p>\n<ul>\n<li><code>rrqm\/s<\/code>\uff1a\u6bcf\u79d2\u5bf9\u8be5\u8bbe\u5907\u7684\u8bfb\u8bf7\u6c42\u88ab\u5408\u5e76\u6b21\u6570\uff0c\u6587\u4ef6\u7cfb\u7edf\u4f1a\u5bf9\u8bfb\u53d6\u540c\u5757 (block) \u7684\u8bf7\u6c42\u8fdb\u884c\u5408\u5e76<\/li>\n<li><code>wrqm\/s<\/code>\uff1a\u6bcf\u79d2\u5bf9\u8be5\u8bbe\u5907\u7684\u5199\u8bf7\u6c42\u88ab\u5408\u5e76\u6b21\u6570<\/li>\n<li><code>r\/s<\/code>\uff1a\u6bcf\u79d2\u5b8c\u6210\u7684\u8bfb\u6b21\u6570<\/li>\n<li><code>w\/s<\/code>\uff1a\u6bcf\u79d2\u5b8c\u6210\u7684\u5199\u6b21\u6570<\/li>\n<li><code>rkB\/s<\/code>\uff1a\u6bcf\u79d2\u8bfb\u6570\u636e\u91cf (kB \u4e3a\u5355\u4f4d)<\/li>\n<li><code>wkB\/s<\/code>\uff1a\u6bcf\u79d2\u5199\u6570\u636e\u91cf (kB \u4e3a\u5355\u4f4d)<\/li>\n<li><code>avgrq-sz<\/code>\uff1a\u5e73\u5747\u6bcf\u6b21 IO \u64cd\u4f5c\u7684\u6570\u636e\u91cf (\u6247\u533a\u6570\u4e3a\u5355\u4f4d)<\/li>\n<li><code>avgqu-sz<\/code>\uff1a\u5e73\u5747\u7b49\u5f85\u5904\u7406\u7684 IO \u8bf7\u6c42\u961f\u5217\u957f\u5ea6<\/li>\n<li><code>await<\/code>\uff1a\u5e73\u5747\u6bcf\u6b21 IO \u8bf7\u6c42\u7b49\u5f85\u65f6\u95f4 (\u5305\u62ec\u7b49\u5f85\u65f6\u95f4\u548c\u5904\u7406\u65f6\u95f4\uff0c\u6beb\u79d2\u4e3a\u5355\u4f4d)<\/li>\n<li><code>svctm<\/code>\uff1a\u5e73\u5747\u6bcf\u6b21 IO \u8bf7\u6c42\u7684\u5904\u7406\u65f6\u95f4 (\u6beb\u79d2\u4e3a\u5355\u4f4d)<\/li>\n<li><code>%util<\/code>\uff1a\u4e00\u79d2\u4e2d\u6709\u767e\u5206\u4e4b\u591a\u5c11\u7684\u65f6\u95f4\u7528\u4e8e I\/O \u5982\u679c % util \u63a5\u8fd1 100%\uff0c\u8bf4\u660e\u4ea7\u751f\u7684 I\/O \u8bf7\u6c42\u592a\u591a\uff0cI\/O \u7cfb\u7edf\u5df2\u7ecf\u6ee1\u8d1f\u8377\u3002<code>idle<\/code> \u5c0f\u4e8e 70% IO \u538b\u529b\u5c31\u8f83\u5927\u4e86\uff0c\u4e00\u822c\u8bfb\u53d6\u901f\u5ea6\u6709\u8f83\u591a\u7684 wait\u3002<\/li>\n<\/ul>\n<blockquote><p><code>iostat -xmd 1 3<\/code>\uff1a\u65b0\u589e <code>m<\/code> \u9009\u9879\u53ef\u4ee5\u5728\u8f93\u51fa\u662f\u4f7f\u7528 <code>M<\/code> \u4e3a\u5355\u4f4d\u3002<\/p><\/blockquote>\n<h3>\u67e5\u770b\u6700\u8017 IO \u7684\u8fdb\u7a0b<\/h3>\n<p>\u4e00\u822c\u5148\u901a\u8fc7 <code>iostat<\/code> \u67e5\u770b\u662f\u5426\u5b58\u5728 io \u74f6\u9888\uff0c\u518d\u4f7f\u7528 <code>iotop<\/code> \u547d\u4ee4\u6765\u5b9a\u4f4d\u90a3\u4e2a\u8fdb\u7a0b\u6700\u8017\u8d39 IO\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# iotop\nTotal DISK READ :       0.00 B\/s | Total DISK WRITE :       0.00 B\/s\nActual DISK READ:       0.00 B\/s | Actual DISK WRITE:       0.00 B\/s\n   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO&gt;    COMMAND\n123931 be\/4 root        0.00 B\/s    0.00 B\/s  0.00 %  0.02 % [kworker\/1:30]\n 94208 be\/4 xiaolyuh    0.00 B\/s    0.00 B\/s  0.00 %  0.00 % nautilus-desktop --force [gmain]\n     1 be\/4 root        0.00 B\/s    0.00 B\/s  0.00 %  0.00 % systemd --system --deserialize 62\n     2 be\/4 root        0.00 B\/s    0.00 B\/s  0.00 %  0.00 % [kthreadd]\n 94211 be\/4 xiaolyuh    0.00 B\/s    0.00 B\/s  0.00 %  0.00 % gvfsd-trash --spawner :1.4 \/org\/gtk\/gvfs\/exec_spaw\/0\n     4 be\/0 root        0.00 B\/s    0.00 B\/s  0.00 %  0.00 % [kworker\/0:0H]\n     6 be\/4 root        0.00 B\/s    0.00 B\/s  0.00 %  0.00 % [ksoftirqd\/0]\n     7 rt\/4 root        0.00 B\/s    0.00 B\/s  0.00 %  0.00 % [migration\/0]\n     8 be\/4 root        0.00 B\/s    0.00 B\/s  0.00 %  0.00 % [rcu_bh]\n     9 be\/4 root        0.00 B\/s    0.00 B\/s  0.00 %  0.00 % [rcu_sched]\n    10 be\/0 root        0.00 B\/s    0.00 B\/s  0.00 %  0.00 % [lru-add-drain]\n...<\/code><\/pre>\n<p>\u901a\u8fc7 <code>iotop -p pid<\/code> \u53ef\u4ee5\u67e5\u770b\u5355\u4e2a\u8fdb\u7a0b\u7684 IO \u60c5\u51b5\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# iotop -p 124146\nTotal DISK READ :       0.00 B\/s | Total DISK WRITE :       0.00 B\/s\nActual DISK READ:       0.00 B\/s | Actual DISK WRITE:       0.00 B\/s\n   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO&gt;    COMMAND\n124146 be\/4 root        0.00 B\/s    0.00 B\/s  0.00 %  0.00 % java -jar arthas-demo.jar<\/code><\/pre>\n<h2>\u5e94\u7528\u74f6\u9888<\/h2>\n<h3>\u67e5\u770b\u67d0\u4e2a\u8fdb\u7a0b\u7684 PID<\/h3>\n<p>\u5982\u67e5\u770b java \u7684\u8fdb\u7a0b\u7684 pid\uff0c<code>ps -ef | grep java<\/code>:<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# ps -ef | grep java\nroot     124146   1984  0 09:13 pts\/0    00:00:06 java -jar arthas-demo.jar\nroot     125210  98378  0 10:07 pts\/1    00:00:00 grep --color=auto java<\/code><\/pre>\n<h3>\u67e5\u770b\u7279\u5b9a\u8fdb\u7a0b\u7684\u6570\u91cf<\/h3>\n<p>\u5982\u67e5\u770b java \u8fdb\u7a0b\u7684\u6570\u91cf\uff0c<code>ps -ef | grep java| wc -l<\/code>\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# ps -ef | grep java| wc -l\n2<\/code><\/pre>\n<h3>\u67e5\u770b\u7ebf\u7a0b\u662f\u5426\u5b58\u5728\u6b7b\u9501<\/h3>\n<p>\u67e5\u770b\u7ebf\u7a0b\u662f\u5426\u5b58\u5728\u6b7b\u9501\uff0c<code>jstack -l pid<\/code>\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# jstack -l 124146\n2020-05-02 10:13:38\nFull thread dump OpenJDK 64-Bit Server VM (25.252-b09 mixed mode):\n\n&quot;C1 CompilerThread1&quot; #6 daemon prio=9 os_prio=0 tid=0x00007f27f013c000 nid=0x1e4f9 waiting on condition [0x0000000000000000]\n   java.lang.Thread.State: RUNNABLE\n\n   Locked ownable synchronizers:\n        - None\n\n&quot;C2 CompilerThread0&quot; #5 daemon prio=9 os_prio=0 tid=0x00007f27f012d000 nid=0x1e4f8 waiting on condition [0x0000000000000000]\n   java.lang.Thread.State: RUNNABLE\n\n   Locked ownable synchronizers:\n        - None\n\n&quot;main&quot; #1 prio=5 os_prio=0 tid=0x00007f27f004b800 nid=0x1e4f3 waiting on condition [0x00007f27f7274000]\n   java.lang.Thread.State: TIMED_WAITING (sleeping)\n        at java.lang.Thread.sleep(Native Method)\n        at java.lang.Thread.sleep(Thread.java:340)\n        at java.util.concurrent.TimeUnit.sleep(TimeUnit.java:386)\n        at demo.MathGame.main(MathGame.java:17)\n\n   Locked ownable synchronizers:\n        - None\n...<\/code><\/pre>\n<h3>\u67e5\u770b\u67d0\u4e2a\u8fdb\u7a0b\u7684\u7ebf\u7a0b\u6570<\/h3>\n<p><code>ps -efL | grep [PID] | wc -l<\/code>\uff0c\u5982\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# ps -efL | grep 124146 | wc -l\n12<\/code><\/pre>\n<p>\u67e5\u770b\u5177\u4f53\u6709\u54ea\u4e9b\u7ebf\u7a0b\u7528 <code>ps -Lp [pid] cu<\/code>:<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# ps -Lp 124146 cu\nUSER        PID    LWP %CPU NLWP %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND\nroot     124146 124146  0.0   11  2.5 2489116 35724 pts\/0   Sl+  09:13   0:00 java\nroot     124146 124147  0.0   11  2.5 2489116 35724 pts\/0   Sl+  09:13   0:01 java\nroot     124146 124148  0.0   11  2.5 2489116 35724 pts\/0   Sl+  09:13   0:00 VM Thread\nroot     124146 124149  0.0   11  2.5 2489116 35724 pts\/0   Sl+  09:13   0:00 Reference Handl\nroot     124146 124150  0.0   11  2.5 2489116 35724 pts\/0   Sl+  09:13   0:00 Finalizer\nroot     124146 124151  0.0   11  2.5 2489116 35724 pts\/0   Sl+  09:13   0:00 Signal Dispatch\nroot     124146 124152  0.0   11  2.5 2489116 35724 pts\/0   Sl+  09:13   0:00 C2 CompilerThre\nroot     124146 124153  0.0   11  2.5 2489116 35724 pts\/0   Sl+  09:13   0:00 C1 CompilerThre\nroot     124146 124154  0.0   11  2.5 2489116 35724 pts\/0   Sl+  09:13   0:00 Service Thread\nroot     124146 124155  0.1   11  2.5 2489116 35724 pts\/0   Sl+  09:13   0:05 VM Periodic Tas\nroot     124146 125362  0.0   11  2.5 2489116 35724 pts\/0   Sl+  10:13   0:00 Attach Listener<\/code><\/pre>\n<h3>\u7edf\u8ba1\u6240\u6709\u7684 log \u6587\u4ef6\u4e2d\uff0c\u5305\u542b Error \u5b57\u7b26\u7684\u884c<\/h3>\n<p><code>find \/ -type f -name &quot;*.log&quot; | xargs grep &quot;ERROR&quot;<\/code>\uff0c\u8fd9\u4e2a\u5728\u6392\u67e5\u95ee\u9898\u8fc7\u7a0b\u4e2d\u6bd4\u8f83\u6709\u7528\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# find \/ -type f -name &quot;*.log&quot; | xargs grep &quot;ERROR&quot;\n\/var\/log\/tuned\/tuned.log:2020-03-13 18:05:59,145 ERROR    tuned.utils.commands: Writing to file '\/sys\/devices\/system\/cpu\/cpu0\/cpufreq\/scaling_governor' error: '[Errno 19] No such device'\n\/var\/log\/tuned\/tuned.log:2020-03-13 18:05:59,145 ERROR    tuned.utils.commands: Writing to file '\/sys\/devices\/system\/cpu\/cpu1\/cpufreq\/scaling_governor' error: '[Errno 19] No such device'\n\/var\/log\/tuned\/tuned.log:2020-04-28 14:55:34,857 ERROR    tuned.utils.commands: Writing to file '\/sys\/devices\/system\/cpu\/cpu0\/cpufreq\/scaling_governor' error: '[Errno 19] No such device'\n\/var\/log\/tuned\/tuned.log:2020-04-28 14:55:34,859 ERROR    tuned.utils.commands: Writing to file '\/sys\/devices\/system\/cpu\/cpu1\/cpufreq\/scaling_governor' error: '[Errno 19] No such device'\n\/var\/log\/tuned\/tuned.log:2020-04-28 15:23:19,037 ERROR    tuned.utils.commands: Writing to file '\/sys\/devices\/system\/cpu\/cpu0\/cpufreq\/scaling_governor' error: '[Errno 19] No such device'\n...<\/code><\/pre>\n<h3>\u5e94\u7528\u542f\u52a8\u65f6\u6307\u5b9a JVM \u53c2\u6570<\/h3>\n<p><code>java -jar -Xms128m -Xmx1024m -Xss512k -XX:PermSize=128m -XX:MaxPermSize=64m -XX:NewSize=64m -XX:MaxNewSize=256m arthas-demo.jar<\/code>\uff0c\u5982\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# java -jar -Xms128m -Xmx1024m -Xss512k -XX:PermSize=128m -XX:MaxPermSize=64m -XX:NewSize=64m -XX:MaxNewSize=256m  arthas-demo.jar\nOpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0\nOpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=64m; support was removed in 8.0\n157518=2*3*3*3*2917\nillegalArgumentCount:  1, number is: -187733, need &gt;= 2\nillegalArgumentCount:  2, number is: -102156, need &gt;= 2\n173379=3*57793<\/code><\/pre>\n<h2>\u603b\u7ed3<\/h2>\n<p>\u5728\u4f7f\u7528 linux \u547d\u4ee4\u65f6\uff0c\u5982\u679c\u60f3\u770b\u5e2e\u52a9\u53ef\u4ee5\u4f7f\u7528 <code>--help<\/code> \u6216\u8005 <code>man<\/code> \u67e5\u770b\u5e2e\u52a9\u4fe1\u606f\uff1a<\/p>\n<pre><code class=\"shell\">[root@localhost ~]# grep --help\n\u7528\u6cd5: grep [\u9009\u9879]... PATTERN [FILE]...\n\u5728\u6bcf\u4e2a FILE \u6216\u662f\u6807\u51c6\u8f93\u5165\u4e2d\u67e5\u627e PATTERN\u3002\n\u9ed8\u8ba4\u7684 PATTERN \u662f\u4e00\u4e2a\u57fa\u672c\u6b63\u5219\u8868\u8fbe\u5f0f(\u7f29\u5199\u4e3a BRE)\u3002\n\u4f8b\u5982: grep -i 'hello world' menu.h main.c\n...\n[root@localhost ~]# man grep\n\nGREP(1)                                                        General Commands Manual                                                        GREP(1)\n\nNAME\n       grep, egrep, fgrep - \u6253\u5370\u5339\u914d\u7ed9\u5b9a\u6a21\u5f0f\u7684\u884c\n\n\u603b\u89c8 SYNOPSIS\n       grep [options] PATTERN [FILE...]\n       grep [options] [-e PATTERN | -f FILE] [FILE...]\n\n\u63cf\u8ff0 DESCRIPTION\n       Grep    \u641c\u7d22\u4ee5    FILE    \u547d\u540d\u7684\u6587\u4ef6\u8f93\u5165   (\u6216\u8005\u662f\u6807\u51c6\u8f93\u5165\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u6587\u4ef6\u540d\uff0c\u6216\u8005\u7ed9\u51fa\u7684\u6587\u4ef6\u540d\u662f   -   \u7684\u8bdd)\uff0c\u5bfb\u627e\u542b\u6709\u4e0e\u7ed9\u5b9a\u7684\u6a21\u5f0f   PATTERN\n...<\/code><\/pre>\n<table>\n<thead>\n<tr>\n<th>\u7c7b\u522b<\/th>\n<th>\u76d1\u63a7\u547d\u4ee4<\/th>\n<th>\u63cf\u8ff0<\/th>\n<th>\u5907\u6ce8<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u5185\u5b58\u74f6\u9888<\/td>\n<td>free<\/td>\n<td>\u67e5\u770b\u5185\u5b58\u4f7f\u7528<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>vmstat 3 (\u95f4\u9694\u65f6\u95f4) 100 (\u76d1\u63a7\u6b21\u6570)<\/td>\n<td>\u67e5\u770b swap in\/out \u8be6\u7ec6\u5b9a\u4f4d\u662f\u5426\u5b58\u5728\u6027\u80fd\u74f6\u9888<\/td>\n<td>\u63a8\u8350\u4f7f\u7528<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>sar -r 3<\/td>\n<td>\u548c free \u547d\u4ee4\u7c7b\u4f3c\uff0c\u67e5\u770b\u5185\u5b58\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4f46\u662f\u4e0d\u5305\u542b swap \u7684\u60c5\u51b5<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>cpu \u74f6\u9888<\/td>\n<td>top -H<\/td>\n<td>\u6309\u7167 cpu \u6d88\u8017\u9ad8\u4f4e\u8fdb\u884c\u6392\u5e8f<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>ps -Lp \u8fdb\u7a0b\u53f7 cu<\/td>\n<td>\u67e5\u770b\u67d0\u4e2a\u8fdb\u7a0b\u7684 cpu \u6d88\u8017\u6392\u5e8f<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>cat \/proc\/cpuinfo \/<\/td>\n<td>grep &#8216;processor&#8217;\/<\/td>\n<td>wc -l<\/td>\n<td>\u67e5\u770b cpu \u6838\u6570<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>top<\/td>\n<td>\u67e5\u770b cpu \u603b\u4f53\u6d88\u8017\uff0c\u5305\u62ec\u5206\u9879\u6d88\u8017\u5982 user,system,idle,nice \u7b49\u6d88\u8017<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>top \u7136\u540e shift+h: \u663e\u793a java \u7ebf\u7a0b\uff0c\u7136\u540e shift+M: \u6309\u7167\u5185\u5b58\u4f7f\u7528\u8fdb\u884c\u6392\u5e8f\uff1bshift+P: \u6309\u7167 cpu \u65f6\u95f4\u6392\u5e8f\uff1bshift+T: \u6309\u7167 cpu \u7d2f\u8ba1\u4f7f\u7528\u65f6\u95f4\u6392\u5e8f\u591a\u6838 cpu\uff0c\u6309 \u201c1\u201d \u8fdb\u5165 top \u89c6\u56fe<\/td>\n<td>\u4e13\u9879\u6027\u80fd\u6392\u67e5\uff0c\u591a\u6838 CPU \u4e3b\u8981\u770b CUP \u5404\u4e2a\u5185\u6838\u7684\u8d1f\u8f7d\u60c5\u51b5<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>sar -u 3 (\u95f4\u9694\u65f6\u95f4)<\/td>\n<td>\u67e5\u770b cpu \u603b\u4f53\u6d88\u8017\u5360\u6bd4<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>sar -q<\/td>\n<td>\u67e5\u770b cpu load<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>top -b -n 1 \/<\/td>\n<td>awk &#8216;{if (NR&lt;=7)print;else if($8==&#8221;D&#8221;){print;count++}}END{print &#8220;Total status D:&#8221;count}&#8217;<\/td>\n<td>\u8ba1\u7b97\u5728 cpu load \u91cc\u9762\u7684 uninterruptedsleep \u7684\u4efb\u52a1\u6570\u91cf uninterruptedsleep \u7684\u4efb\u52a1\u4f1a\u88ab\u8ba1\u5165 cpu load\uff0c\u5982\u78c1\u76d8\u5835\u585e<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>\u7f51\u7edc\u74f6\u9888<\/td>\n<td>cat \/var\/log\/messages<\/td>\n<td>\u67e5\u770b\u5185\u6838\u65e5\u5fd7\uff0c\u67e5\u770b\u662f\u5426\u4e22\u5305<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>watch more \/proc\/net\/dev<\/td>\n<td>\u7528\u4e8e\u5b9a\u4f4d\u4e22\u5305\uff0c\u9519\u5305\u60c5\u51b5\uff0c\u4ee5\u4fbf\u770b\u7f51\u7edc\u74f6\u9888<\/td>\n<td>\u91cd\u70b9\u5173\u6ce8 drop (\u5305\u88ab\u4e22\u5f03) \u548c\u7f51\u7edc\u5305\u4f20\u9001\u7684\u603b\u91cf\uff0c\u4e0d\u8981\u8d85\u8fc7\u7f51\u7edc\u4e0a\u9650<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>sar -n SOCK<\/td>\n<td>\u67e5\u770b\u7f51\u7edc\u6d41\u91cf<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>netstat -na\/<\/td>\n<td>grep ESTABLISHED\/<\/td>\n<td>wc -l<\/td>\n<td>\u67e5\u770b tcp \u8fde\u63a5\u6210\u529f\u72b6\u6001\u7684\u6570\u91cf<\/td>\n<td>\u6b64\u547d\u4ee4\u7279\u522b\u6d88\u8017 cpu\uff0c\u4e0d\u9002\u5408\u8fdb\u884c\u957f\u65f6\u95f4\u76d1\u63a7\u6570\u636e\u6536\u96c6<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>netstat -na\/<\/td>\n<td>awk'{print $6}&#8217;\/<\/td>\n<td>sort \/<\/td>\n<td>uniq -c \/<\/td>\n<td>sort -nr<\/td>\n<td>\u770b tcp \u5404\u4e2a\u72b6\u6001\u6570\u91cf<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>netstat -i<\/td>\n<td>\u67e5\u770b\u7f51\u7edc\u9519\u8bef<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>ss state ESTABLISHED\/<\/td>\n<td>wc -l<\/td>\n<td>\u66f4\u9ad8\u6548\u5730\u7edf\u8ba1 tcp \u8fde\u63a5\u72b6\u6001\u4e3a ESTABLISHED \u7684\u6570\u91cf<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>cat \/proc\/net\/snmp<\/td>\n<td>\u67e5\u770b\u548c\u5206\u6790 240 \u79d2\u5185\u7f51\u7edc\u5305\u91cf\uff0c\u6d41\u91cf\uff0c\u9519\u5305\uff0c\u4e22\u5305<\/td>\n<td>\u7528\u4e8e\u8ba1\u7b97\u91cd\u4f20\u7387 <code>tcpetr=RetransSegs\/OutSegs<\/code><\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>ping $ip<\/td>\n<td>\u6d4b\u8bd5\u7f51\u7edc\u6027\u80fd<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>traceroute $ip<\/td>\n<td>\u67e5\u770b\u8def\u7531\u7ecf\u8fc7\u7684\u5730\u5740<\/td>\n<td>\u5e38\u7528\u4e8e\u5b9a\u4f4d\u7f51\u7edc\u5728\u5404\u4e2a\u8def\u7531\u533a\u6bb5\u7684\u8017\u65f6<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>dig $ \u57df\u540d<\/td>\n<td>\u67e5\u770b\u57df\u540d\u89e3\u6790\u5730\u5740<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>dmesg<\/td>\n<td>\u67e5\u770b\u7cfb\u7edf\u5185\u6838\u65e5\u5fd7<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>\u78c1\u76d8\u74f6\u9888<\/td>\n<td>iostat -x -k -d 1<\/td>\n<td>\u8be6\u7ec6\u5217\u51fa\u78c1\u76d8\u7684\u8bfb\u5199\u60c5\u51b5<\/td>\n<td>\u5f53\u770b\u5230 I\/O \u7b49\u5f85\u65f6\u95f4\u6240\u5360 CPU \u65f6\u95f4\u7684\u6bd4\u91cd\u5f88\u9ad8\u7684\u65f6\u5019\uff0c\u9996\u5148\u8981\u68c0\u67e5\u7684\u5c31\u662f\u673a\u5668\u662f\u5426\u6b63\u5728\u5927\u91cf\u4f7f\u7528\u4ea4\u6362\u7a7a\u95f4\uff0c\u540c\u65f6\u5173\u6ce8 iowait \u5360\u6bd4 cpu \u7684\u6d88\u8017\u662f\u5426\u5f88\u5927\uff0c\u5982\u679c\u5927\u8bf4\u660e\u78c1\u76d8\u5b58\u5728\u5927\u7684\u74f6\u9888\uff0c\u540c\u65f6\u5173\u6ce8 await\uff0c\u8868\u793a\u78c1\u76d8\u7684\u54cd\u5e94\u65f6\u95f4\u4ee5\u4fbf\u5c0f\u4e8e 5ms<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>iostat -x<\/td>\n<td>\u67e5\u770b\u7cfb\u7edf\u5404\u4e2a\u78c1\u76d8\u7684\u8bfb\u5199\u6027\u80fd<\/td>\n<td>\u91cd\u70b9\u5173\u6ce8 await \u548c iowait \u7684 cpu \u5360\u6bd4<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>iotop<\/td>\n<td>\u67e5\u770b\u54ea\u4e2a\u8fdb\u7a0b\u5728\u5927\u91cf\u8bfb\u53d6 IO<\/td>\n<td>\u4e00\u822c\u5148\u901a\u8fc7 iostat \u67e5\u770b\u662f\u5426\u5b58\u5728 io \u74f6\u9888\uff0c\u518d\u5b9a\u4f4d\u54ea\u4e2a\u8fdb\u7a0b\u5728\u5927\u91cf\u8bfb\u53d6 IO<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>df -hl<\/td>\n<td>\u67e5\u770b\u78c1\u76d8\u5269\u4f59\u7a7a\u95f4<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>du -sh<\/td>\n<td>\u67e5\u770b\u78c1\u76d8\u4f7f\u7528\u4e86\u591a\u5c11\u7a7a\u95f4<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>\u5e94\u7528\u74f6\u9888<\/td>\n<td>ps -ef<\/td>\n<td>grep java<\/td>\n<td>\u67e5\u770b\u67d0\u4e2a\u8fdb\u7a0b\u7684 id \u53f7<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>ps -ef \/<\/td>\n<td>grep httpd\/<\/td>\n<td>wc -l<\/td>\n<td>\u67e5\u770b\u7279\u5b9a\u8fdb\u7a0b\u7684\u6570\u91cf<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>cat <em>*<\/em>.log \/<\/td>\n<td>grep <em>*<\/em>Exception\/<\/td>\n<td>wc -l<\/td>\n<td>\u7edf\u8ba1\u65e5\u5fd7\u6587\u4ef6\u4e2d\u5305\u542b\u7279\u5b9a\u5f02\u5e38\u6570\u91cf<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>jstack -l pid<\/td>\n<td>\u7528\u4e8e\u67e5\u770b\u7ebf\u7a0b\u662f\u5426\u5b58\u5728\u6b7b\u9501<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>awk'{print $8}&#8217; 2017-05-22-access_log\/<\/td>\n<td>egrep &#8216;301\/<\/td>\n<td>302&#8217;\/<\/td>\n<td>wc -l<\/td>\n<td>\u7edf\u8ba1 log \u4e2d 301\u3001302 \u72b6\u6001\u7801\u7684\u884c\u6570\uff0c$8 \u8868\u793a\u7b2c\u516b\u5217\u662f\u72b6\u6001\u7801\uff0c\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u66f4\u6539<\/td>\n<td>\u5e38\u7528\u4e8e\u5e94\u7528\u6545\u969c\u5b9a\u4f4d<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>grep &#8216;wholesaleProductDetailNew&#8217; cookie_log \/<\/td>\n<td>awk &#8216;{if($10==&#8221;200&#8243;)}&#8217;print}&#8217;<\/td>\n<td>awk &#8216;print $12&#8217; \/<\/td>\n<td>more<\/td>\n<td>\u6253\u5370\u5305\u542b\u7279\u5b9a\u6570\u636e\u7684 12 \u5217\u6570\u636e<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>grep &#8220;2017:05:22&#8221; cookielog \/<\/td>\n<td>awk &#8216;($12&gt;0.3){print $12 &#8220;&#8211;&#8221; $8}&#8217; \/<\/td>\n<td>sort &gt; \u76ee\u5f55\u5730\u5740<\/td>\n<td>\u5bf9 apache \u6216\u8005 nginx \u8bbf\u95ee log \u8fdb\u884c\u54cd\u5e94\u65f6\u95f4\u6392\u5e8f\uff0c$12 \u8868\u793a cookie log \u4e2d\u7684 12 \u5217\u8868\u793a\u54cd\u5e94\u65f6\u95f4 \u7528\u4e8e\u6392\u67e5\u662f\u5426\u662f\u7531\u4e8e\u662f\u67d0\u4e9b\u8bbf\u95ee\u8d85\u957f\u9020\u6210\u6574\u4f53\u7684 RT \u53d8\u957f<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>grep -v &#8216;HTTP\/1.1&#8243; 200&#8217;<\/td>\n<td>\u53d6\u51fa\u975e 200 \u54cd\u5e94\u7801\u7684 URL<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>pgm -A -f $ \u5e94\u7528\u96c6\u7fa4\u540d\u79f0 &#8220;grep&#8221;&#8216;301&#8217; log \u6587\u4ef6\u5730\u5740 \/<\/td>\n<td>wc -l&#8221;<\/td>\n<td>\u67e5\u770b\u6574\u4e2a\u96c6\u7fa4\u7684 log \u4e2d 301 \u72b6\u6001\u7801\u7684\u6570\u91cf<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>ps -efL \/<\/td>\n<td>grep [PID] \/<\/td>\n<td>wc -l<\/td>\n<td>\u67e5\u770b\u67d0\u4e2a\u8fdb\u7a0b\u521b\u5efa\u7684\u7ebf\u7a0b\u6570<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>find \/ -type f -name &#8220;*.log&#8221; \/<\/td>\n<td>xargs grep &#8220;ERROR&#8221;<\/td>\n<td>\u7edf\u8ba1\u6240\u6709\u7684 log \u6587\u4ef6\u4e2d\uff0c\u5305\u542b Error \u5b57\u7b26\u7684\u884c<\/td>\n<td>\u8fd9\u4e2a\u5728\u6392\u67e5\u95ee\u9898\u8fc7\u7a0b\u4e2d\u6bd4\u8f83\u6709\u7528<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>jstat -gc [pid]<\/td>\n<td>\u67e5\u770b gc \u60c5\u51b5<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>jstat -gcnew [pid]<\/td>\n<td>\u67e5\u770b young \u533a\u7684\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\uff0c\u5305\u62ec MTT (\u6700\u5927\u4ea4\u4e92\u6b21\u6570\u5c31\u88ab\u4ea4\u6362\u5230 old \u533a)\uff0cTT \u662f\u76ee\u524d\u5df2\u7ecf\u4ea4\u6362\u7684\u6b21\u6570<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>jstat -gcold<\/td>\n<td>\u67e5\u770b old \u533a\u7684\u5185\u5b58\u4f7f\u7528\u60c5\u51b5<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>jmap -J-d64 -dump:format=b,file=dump.bin PID<\/td>\n<td>dump \u51fa\u5185\u5b58\u5feb\u7167<\/td>\n<td>-J-d64 \u9632\u6b62 jmap \u5bfc\u81f4\u865a\u62df\u673a crash (jdk6 \u6709 bug)<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>-XX:+HeapDumpOnOutOfMemeryError<\/td>\n<td>\u5728 java \u542f\u52a8\u65f6\u52a0\u5165\uff0c\u5f53\u51fa\u73b0\u5185\u5b58\u6ea2\u51fa\u65f6\uff0c\u5b58\u50a8\u5185\u5b58\u5feb\u7167<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>jmap -histo [pid]<\/td>\n<td>\u6309\u7167\u5bf9\u8c61\u5185\u5b58\u5927\u5c0f\u6392\u5e8f<\/td>\n<td>\u6ce8\u610f\u4f1a\u5bfc\u81f4 full gc<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>gcore [pid]<\/td>\n<td>\u5bfc\u51fa\u5b8c\u6210\u7684\u5185\u5b58\u5feb\u7167<\/td>\n<td>\u901a\u5e38\u548c <code>jmap -permstat \/opt\/**\/java gcore.bin<\/code> \u4e00\u8d77\u4f7f\u7528\uff0c\u5c06 core dump \u8f6c\u6362\u6210 heap dump<\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>-XX:HeapDumpPath=\/home\/logs -Xloggc:\/home\/log\/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps<\/td>\n<td>\u5728 Java \u542f\u52a8\u53c2\u6570\u4e2d\u52a0\u5165\uff0c\u6253\u5370 gc \u65e5\u5fd7<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td> <\/td>\n<td>-server -Xms4000m -Xmx4000m -Xmn1500m -Xss256k -XX:PermSize=340m -XX:MaxPermSize=340m -XX:+UseConcMarkSweepGC<\/td>\n<td>\u8c03\u6574 JVM \u5806\u5927\u5c0f<\/td>\n<td>xss \u662f\u6808\u5927\u5c0f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u8fd1\u671f\u70ed\u6587\u63a8\u8350\uff1a<\/strong><\/p>\n<p>1.<a href=\"https:\/\/link.segmentfault.com\/?enc=%2FxK2RHjg1fCb4nUplsYmlg%3D%3D.n75t9sc13LVIVNFQyylGICBRZ1bmo%2Bd3TTG%2Br5t%2Fb7o%3D\" rel=\"nofollow\">1,000+ \u9053 Java\u9762\u8bd5\u9898\u53ca\u7b54\u6848\u6574\u7406(2022\u6700\u65b0\u7248)<\/a><\/p>\n<p>2.<a href=\"https:\/\/link.segmentfault.com\/?enc=sviQd9eoZmW09oXzgL9mZg%3D%3D.hsyz5gLK98lKZkiE1FEcJbEuRHLkNWPSerWzxcvctTt8IyUbt8Xiw6u8yMd6aJL6a5t3b5c0mD2HvQGpxE9QOil2TloiY8YfpKFC6A6hZy0%3D\" rel=\"nofollow\">\u52b2\u7206\uff01Java \u534f\u7a0b\u8981\u6765\u4e86\u3002\u3002\u3002<\/a><\/p>\n<p>3.<a href=\"https:\/\/link.segmentfault.com\/?enc=x7Hl3WkcqZgqMdXNvwGZ4A%3D%3D.%2F2k6t5blWf6zo4q7pteRJ8DX0lxAx6mgHpGypIWiXA4vFhfjNP1%2FH9LSw94Vnbst\" rel=\"nofollow\">Spring Boot 2.x \u6559\u7a0b\uff0c\u592a\u5168\u4e86\uff01<\/a><\/p>\n<p>4.<a href=\"https:\/\/link.segmentfault.com\/?enc=FHuR7NZ%2B0dWvlQfrTZPSow%3D%3D.incJ7d6cjNmSM5PwblwK6Ru1JtI0uB8oeYV%2FyKRnPp%2B86%2FnE9rCLDIbrvK0nnsKY1%2BfcYFtafhUVOCwsua005GU5n2Bpf2ma4nME9iOwUlo%3D\" rel=\"nofollow\">\u522b\u518d\u5199\u6ee1\u5c4f\u7684\u7206\u7206\u7206\u70b8\u7c7b\u4e86\uff0c\u8bd5\u8bd5\u88c5\u9970\u5668\u6a21\u5f0f\uff0c\u8fd9\u624d\u662f\u4f18\u96c5\u7684\u65b9\u5f0f\uff01\uff01<\/a><\/p>\n<p>5.<a href=\"https:\/\/link.segmentfault.com\/?enc=QzOG2klCKsb8Ahgl3Phosw%3D%3D.Fu7yXkRFK0Ob8XecNDIGoAvOAoOLOQdeTNVttJ3GskLZpT5RujmbX56SGdIbs1jjWpnokA2JyScXSAkQ%2F3k4vm1s44s%2B5c6nlzmP%2Bh%2BgOYoHL3AXoS48t6D7DYxzH6Ql\" rel=\"nofollow\">\u300aJava\u5f00\u53d1\u624b\u518c\uff08\u5d69\u5c71\u7248\uff09\u300b\u6700\u65b0\u53d1\u5e03\uff0c\u901f\u901f\u4e0b\u8f7d\uff01<\/a><\/p>\n<p>\u89c9\u5f97\u4e0d\u9519\uff0c\u522b\u5fd8\u4e86\u968f\u624b\u70b9\u8d5e+\u8f6c\u53d1\u54e6\uff01<\/p>\n<p><a href=\"https:\/\/segmentfault.com\/a\/1190000042251021\">https:\/\/segmentfault.com\/a\/1190000042251021<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6765\u6e90\uff1ahttps:\/\/my.oschina.net\/xiaoly&#8230; \u5185\u5b58\u74f6\u9888 free free  [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-10006066","post","type-post","status-publish","format-standard","hentry"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts\/10006066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10006066"}],"version-history":[{"count":0,"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts\/10006066\/revisions"}],"wp:attachment":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10006066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10006066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10006066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}