{"id":1735,"date":"2018-10-12T18:12:19","date_gmt":"2018-10-12T10:12:19","guid":{"rendered":"https:\/\/damogame.cn:15443\/wordpress\/?p=1735"},"modified":"2018-10-24T17:54:16","modified_gmt":"2018-10-24T09:54:16","slug":"linux%e7%b3%bb%e7%bb%9f%e7%93%b6%e9%a2%88%e5%88%86%e6%9e%90%e7%bb%8f%e5%85%b8","status":"publish","type":"post","link":"https:\/\/i007.cc\/wordpress\/archives\/1735","title":{"rendered":"Linux\u7cfb\u7edf\u74f6\u9888\u5206\u6790(\u7ecf\u5178)"},"content":{"rendered":"<div class=\"article-header-box\">\n<div class=\"article-header\">\n<div class=\"article-title-box\"><\/div>\n<\/div>\n<\/div>\n<article>\n<div id=\"article_content\" class=\"article_content clearfix csdn-tracking-statistics\" data-pid=\"blog\" data-mod=\"popu_307\" data-dsm=\"post\">\n<div class=\"htmledit_views\">\n<p>\u6587\u7ae0\u6765\u6e90\uff1a<a href=\"http:\/\/wenku.baidu.com\/view\/ccce2912f18583d0496459f8.html\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/wenku.baidu.com\/view\/ccce2912f18583d0496459f8.html<\/a><\/p>\n<p><strong>1.0 \u6027\u80fd\u76d1\u63a7\u4ecb\u7ecd<\/strong><br \/>\n\u6027\u80fd\u4f18\u5316\u5c31\u662f\u627e\u5230\u7cfb\u7edf\u5904\u7406\u4e2d\u7684\u74f6\u9888\u4ee5\u53ca\u53bb\u9664\u8fd9\u4e9b\u7684\u8fc7\u7a0b,\u591a\u6570\u7ba1\u7406\u5458\u76f8\u4fe1\u770b\u4e00\u4e9b\u76f8\u5173\u7684&#8221;cook book&#8221;\u5c31<br \/>\n\u53ef\u4ee5\u5b9e\u73b0\u6027\u80fd\u4f18\u5316,\u901a\u5e38\u901a\u8fc7\u5bf9\u5185\u6838\u7684\u4e00\u4e9b\u914d\u7f6e\u662f\u53ef\u4ee5\u7b80\u5355\u7684\u89e3\u51b3\u95ee\u9898,\u4f46\u5e76\u4e0d\u9002\u5408\u6bcf\u4e2a\u73af\u5883,\u6027\u80fd\u4f18\u5316\u5176\u5b9e<br \/>\n\u662f\u5bf9OS \u5404\u5b50\u7cfb\u7edf\u8fbe\u5230\u4e00\u79cd\u5e73\u8861\u7684\u5b9a\u4e49,\u8fd9\u4e9b\u5b50\u7cfb\u7edf\u5305\u62ec\u4e86:<br \/>\nCPU<br \/>\nMemory<br \/>\nIO<br \/>\nNetwork<br \/>\n\u8fd9\u4e9b\u5b50\u7cfb\u7edf\u4e4b\u95f4\u5173\u7cfb\u662f\u76f8\u4e92\u5f7c\u6b64\u4f9d\u8d56\u7684,\u4efb\u4f55\u4e00\u4e2a\u9ad8\u8d1f\u8f7d\u90fd\u4f1a\u5bfc\u81f4\u5176\u4ed6\u5b50\u7cfb\u7edf\u51fa\u73b0\u95ee\u9898.\u6bd4\u5982:<br \/>\n\u5927\u91cf\u7684\u9875\u8c03\u5165\u8bf7\u6c42\u5bfc\u81f4\u5185\u5b58\u961f\u5217\u7684\u62e5\u585e<br \/>\n\u7f51\u5361\u7684\u5927\u541e\u5410\u91cf\u53ef\u80fd\u5bfc\u81f4\u66f4\u591a\u7684 CPU \u5f00\u9500<br \/>\n\u5927\u91cf\u7684CPU \u5f00\u9500\u53c8\u4f1a\u5c1d\u8bd5\u66f4\u591a\u7684\u5185\u5b58\u4f7f\u7528\u8bf7\u6c42<br \/>\n\u5927\u91cf\u6765\u81ea\u5185\u5b58\u7684\u78c1\u76d8\u5199\u8bf7\u6c42\u53ef\u80fd\u5bfc\u81f4\u66f4\u591a\u7684 CPU \u4ee5\u53ca IO \u95ee\u9898<br \/>\n\u6240\u4ee5\u8981\u5bf9\u4e00\u4e2a\u7cfb\u7edf\u8fdb\u884c\u4f18\u5316,\u67e5\u627e\u74f6\u9888\u6765\u81ea\u54ea\u4e2a\u65b9\u9762\u662f\u5173\u952e,\u867d\u7136\u770b\u4f3c\u662f\u67d0\u4e00\u4e2a\u5b50\u7cfb\u7edf\u51fa\u73b0\u95ee\u9898,\u5176\u5b9e\u6709\u53ef\u80fd<br \/>\n\u662f\u522b\u7684\u5b50\u7cfb\u7edf\u5bfc\u81f4\u7684.<br \/>\n1.1 \u786e\u5b9a\u5e94\u7528\u7c7b\u578b<br \/>\n\u57fa\u4e8e\u9700\u8981\u7406\u89e3\u8be5\u4ece\u4ec0\u4e48\u5730\u65b9\u6765\u5165\u624b\u4f18\u5316\u74f6\u9888,\u9996\u5148\u91cd\u8981\u7684\u4e00\u70b9,\u5c31\u662f\u7406\u89e3\u5e76\u5206\u6790\u5f53\u524d\u7cfb\u7edf\u7684\u7279\u70b9,\u591a\u6570\u7cfb\u7edf\u6240<br \/>\n\u8dd1\u7684\u5e94\u7528\u7c7b\u578b,\u4e3b\u8981\u4e3a2\u79cd:<br \/>\nIO Bound(IO \u8303\u7574): \u5728\u8fd9\u4e2a\u8303\u7574\u4e2d\u7684\u5e94\u7528,\u4e00\u822c\u90fd\u662f\u9ad8\u8d1f\u8377\u7684\u5185\u5b58\u4f7f\u7528\u4ee5\u53ca\u5b58\u50a8\u7cfb\u7edf,\u8fd9\u5b9e\u9645\u4e0a\u8868\u793aIO \u8303<br \/>\n\u7574\u7684\u5e94\u7528,\u5c31\u662f\u4e00\u4e2a\u5927\u91cf\u6570\u636e\u5904\u7406\u7684\u8fc7\u7a0b.IO \u8303\u7574\u7684\u5e94\u7528\u4e0d\u5bf9CPU\u4ee5\u53ca\u7f51\u7edc\u53d1\u8d77\u66f4\u591a\u8bf7\u6c42(\u9664\u975e\u7c7b\u4f3cNAS<br \/>\n\u8fd9\u6837\u7684\u7f51\u7edc\u5b58\u50a8\u786c\u4ef6).IO \u8303\u7574\u7684\u5e94\u7528\u901a\u5e38\u4f7f\u7528CPU \u8d44\u6e90\u90fd\u662f\u4e3a\u4e86\u4ea7\u751fIO \u8bf7\u6c42\u4ee5\u53ca\u8fdb\u5165\u5230\u5185\u6838\u8c03\u5ea6\u7684<br \/>\nsleep \u72b6\u6001.\u901a\u5e38\u6570\u636e\u5e93\u8f6f\u4ef6(\u4f8b\u5982mysql,oracle\u7b49)\u88ab\u8ba4\u4e3a\u662fIO \u8303\u7574\u7684\u5e94\u7528\u7c7b\u578b.<br \/>\nCPU Bound(CPU \u8303\u7574): \u5728\u8fd9\u4e2a\u8303\u7574\u4e2d\u7684\u5e94\u7528,\u4e00\u822c\u90fd\u662f\u9ad8\u8d1f\u8377\u7684CPU \u5360\u7528. CPU \u8303\u7574\u7684\u5e94\u7528,\u5c31\u662f\u4e00\u4e2a<br \/>\n\u6279\u91cf\u5904\u7406CPU \u8bf7\u6c42\u4ee5\u53ca\u6570\u5b66\u8ba1\u7b97\u7684\u8fc7\u7a0b.\u901a\u5e38web server,mail server,\u4ee5\u53ca\u5176\u4ed6\u7c7b\u578b\u670d\u52a1\u88ab\u8ba4\u4e3a\u662fCPU<br \/>\n\u8303\u7574\u7684\u5e94\u7528\u7c7b\u578b.<br \/>\n1.2 \u786e\u5b9a\u57fa\u51c6\u7ebf\u7edf\u8ba1<br \/>\n\u7cfb\u7edf\u5229\u7528\u7387\u60c5\u51b5,\u4e00\u822c\u968f\u7ba1\u7406\u5458\u7ecf\u9a8c\u4ee5\u53ca\u7cfb\u7edf\u672c\u8eab\u7528\u9014\u6765\u51b3\u5b9a.\u552f\u4e00\u8981\u6e05\u695a\u7684\u5c31\u662f,\u7cfb\u7edf\u4f18\u5316\u5e0c\u671b\u8fbe\u6210\u4ec0\u4e48\u6548<br \/>\n\u679c,\u4ee5\u53ca\u54ea\u4e9b\u65b9\u9762\u662f\u9700\u8981\u4f18\u5316,\u8fd8\u6709\u53c2\u8003\u503c\u662f\u4ec0\u4e48?\u56e0\u6b64\u5c31\u5efa\u7acb\u4e00\u4e2a\u57fa\u51c6\u7ebf,\u8fd9\u4e2a\u7edf\u8ba1\u6570\u636e\u5fc5\u987b\u662f\u7cfb\u7edf\u53ef\u7528\u6027<br \/>\n\u80fd\u72b6\u6001\u503c,\u7528\u6765\u6bd4\u8f83\u4e0d\u53ef\u7528\u6027\u80fd\u72b6\u6001\u503c.<br \/>\n\u5728\u4ee5\u4e0b\u4f8b\u5b50\u4e2d,1\u4e2a\u7cfb\u7edf\u6027\u80fd\u7684\u57fa\u51c6\u7ebf\u5feb\u7167,\u7528\u6765\u6bd4\u8f83\u5f53\u9ad8\u8d1f\u8377\u65f6\u7684\u7cfb\u7edf\u6027\u80fd\u5feb\u7167.<br \/>\n# vmstat 1<br \/>\nprocs memory swap io system cpu<br \/>\nr b swpd free buff cache si so bi bo in cs us sy wa id<br \/>\n1 0 138592 17932 126272 214244 0 0 1 18 109 19 2 1 1 96<br \/>\n0 0 138592 17932 126272 214244 0 0 0 0 105 46 0 1 0 99<br \/>\n0 0 138592 17932 126272 214244 0 0 0 0 198 62 40 14 0 45<br \/>\n0 0 138592 17932 126272 214244 0 0 0 0 117 49 0 0 0 100<br \/>\n0 0 138592 17924 126272 214244 0 0 0\u00a0176 220 938 3 4 13 80<br \/>\n0 0 138592 17924 126272 214244 0 0 0 0 358 1522 8 17 0 75<br \/>\n1 0 138592 17924 126272 214244 0 0 0 0 368 1447 4 24 0 72<br \/>\n0 0 138592 17924 126272 214244 0 0 0 0 352 1277 9 12 0 79<br \/>\n# vmstat 1<br \/>\nprocs memory swap io system cpu<br \/>\nr b swpd free buff cache si so bi bo in cs us sy wa id<br \/>\n2 0 145940 17752 118600 215592 0 1 1 18 109 19 2 1 1 96<br \/>\n2 0 145940 15856 118604 215652 0 0 0 468 789 108 86 14 0 0<br \/>\n3 0 146208 13884 118600 214640 0 360 0 360 498 71 91 9 0 0<br \/>\n2 0 146388 13764 118600 213788 0 340 0 340 672 41 87 13 0 0<br \/>\n2 0 147092 13788 118600 212452 0 740 0 1324 620 61 92 8 0 0<br \/>\n2 0 147360 13848 118600 211580 0 720 0 720 690 41 96 4 0 0<br \/>\n2 0 147912 13744 118192 210592 0 720 0 720 605 44 95 5 0 0<br \/>\n2 0 148452 13900 118192 209260 0 372 0 372 639 45 81 19 0 0<br \/>\n2 0 149132 13692 117824 208412 0 372 0 372 457 47 90 10 0 0<br \/>\n\u4ece\u4e0a\u9762\u7b2c\u4e00\u4e2a\u7ed3\u679c\u53ef\u770b\u5230,\u6700\u540e\u4e00\u5217(id) \u8868\u793a\u7684\u662f\u7a7a\u95f2\u65f6\u95f4,\u6211\u4eec\u53ef\u4ee5\u770b\u5230,\u5728\u57fa\u51c6\u7ebf\u7edf\u8ba1\u65f6,CPU \u7684\u7a7a\u95f2\u65f6<br \/>\n\u95f4\u572879% 100%.<br \/>\n\u5728\u7b2c\u4e8c\u4e2a\u7ed3\u679c\u53ef\u770b\u5230,\u7cfb\u7edf\u5904\u4e8e100%\u7684\u5360\u7528\u7387\u4ee5\u53ca\u6ca1\u6709\u7a7a\u95f2\u65f6\u95f4.\u4ece\u8fd9\u4e2a\u6bd4\u8f83\u4e2d,\u6211\u4eec\u5c31<br \/>\n\u53ef\u4ee5\u786e\u5b9a\u662f\u5426\u662fCPU \u4f7f\u7528\u7387\u5e94\u8be5\u88ab\u4f18\u5316.<br \/>\n<strong>2.0 \u5b89\u88c5\u76d1\u63a7\u5de5\u5177<\/strong><br \/>\n\u591a\u6570 *nix\u7cfb\u7edf\u90fd\u6709\u4e00\u5806\u6807\u51c6\u7684\u76d1\u63a7\u547d\u4ee4.\u8fd9\u4e9b\u547d\u4ee4\u4ece\u4e00\u5f00\u59cb\u5c31\u662f*nix \u7684\u4e00\u90e8\u5206.Linux \u5219\u901a\u8fc7\u57fa\u672c\u5b89\u88c5\u5305<br \/>\n\u4ee5\u53ca\u989d\u5916\u5305\u63d0\u4f9b\u4e86\u5176\u4ed6\u76d1\u63a7\u5de5\u5177,\u8fd9\u4e9b\u5b89\u88c5\u5305\u591a\u6570\u90fd\u5b58\u5728\u5404\u4e2aLinux \u53d1\u5e03\u7248\u672c\u4e2d.\u5c3d\u7ba1\u8fd8\u6709\u5176\u4ed6\u66f4\u591a\u7684\u5f00\u6e90<br \/>\n\u4ee5\u53ca\u7b2c\u4e09\u65b9\u76d1\u63a7\u8f6f\u4ef6,\u4f46\u672c\u6587\u6863\u53ea\u8ba8\u8bba\u57fa\u4e8eLinux \u53d1\u5e03\u7248\u672c\u7684\u76d1\u63a7\u5de5\u5177.<br \/>\n\u672c\u7ae0\u5c06\u8ba8\u8bba\u54ea\u4e9b\u5de5\u5177\u600e\u6837\u6765\u76d1\u63a7\u7cfb\u7edf\u6027\u80fd.<br \/>\n<strong>3.0 CPU \u4ecb\u7ecd<\/strong><br \/>\nCPU \u5229\u7528\u7387\u4e3b\u8981\u4f9d\u8d56\u4e8e\u662f\u4ec0\u4e48\u8d44\u6e90\u5728\u8bd5\u56fe\u5b58\u53d6.\u5185\u6838\u8c03\u5ea6\u5668\u5c06\u8d1f\u8d23\u8c03\u5ea62\u79cd\u8d44\u6e90\u79cd\u7c7b:\u7ebf\u7a0b(\u5355\u4e00\u6216\u8005\u591a\u8def)<br \/>\n\u548c\u4e2d\u65ad.\u8c03\u5ea6\u5668\u53bb\u5b9a\u4e49\u4e0d\u540c\u8d44\u6e90\u7684\u4e0d\u540c\u4f18\u5148\u6743.\u4ee5\u4e0b\u5217\u8868\u4ece\u4f18\u5148\u7ea7\u9ad8\u5230\u4f4e\u6392\u5217:<br \/>\nInterrupts(\u4e2d\u65ad) \u8bbe<br \/>\n\u5907\u901a\u77e5\u5185\u6838,\u4ed6\u4eec\u5b8c\u6210\u4e00\u6b21\u6570\u636e\u5904\u7406\u7684\u8fc7\u7a0b.\u4f8b\u5b50,\u5f53\u4e00\u5757\u7f51\u5361\u8bbe\u5907\u9012\u9001\u7f51\u7edc\u6570\u636e\u5305\u6216<br \/>\n\u8005\u4e00\u5757\u786c\u4ef6\u63d0\u4f9b\u4e86\u4e00\u6b21IO \u8bf7\u6c42.<br \/>\nKernel(System) Processes(\u5185\u6838\u5904\u7406\u8fc7\u7a0b) \u6240<br \/>\n\u6709\u5185\u6838\u5904\u7406\u8fc7\u7a0b\u5c31\u662f\u63a7\u5236\u4f18\u5148\u7ea7\u522b.<br \/>\nUser Processes(\u7528\u6237\u8fdb\u7a0b) \u8fd9<br \/>\n\u5757\u6d89\u53ca&#8221;userland&#8221;.\u6240\u6709\u8f6f\u4ef6\u7a0b\u5e8f\u90fd\u8fd0\u884c\u5728\u8fd9\u4e2auser space.\u8fd9\u5757\u5728\u5185\u6838\u8c03\u5ea6<br \/>\n\u673a\u5236\u4e2d\u5904\u4e8e\u4f4e\u4f18\u5148\u7ea7.<br \/>\n\u4ece\u4e0a\u9762,\u6211\u4eec\u53ef\u4ee5\u770b\u51fa\u5185\u6838\u662f\u600e\u6837\u7ba1\u7406\u4e0d\u540c\u8d44\u6e90\u7684.\u8fd8\u6709\u51e0\u4e2a\u5173\u952e\u5185\u5bb9\u9700\u8981\u4ecb\u7ecd,\u4ee5\u4e0b\u90e8\u5206\u5c31\u5c06\u4ecb\u7ecd<br \/>\ncontext(\u4e0a\u4e0b\u6587\u5207\u6362),run queues(\u8fd0\u884c\u961f\u5217)\u4ee5\u53cautilization(\u5229\u7528\u7387).<br \/>\n3.1 \u4e0a\u4e0b\u6587\u5207\u6362<br \/>\n\u591a\u6570\u73b0\u4ee3\u5904\u7406\u5668\u90fd\u80fd\u591f\u8fd0\u884c\u4e00\u4e2a\u8fdb\u7a0b(\u5355\u4e00\u7ebf\u7a0b)\u6216\u8005\u7ebf\u7a0b.\u591a\u8def\u8d85\u7ebf\u7a0b\u5904\u7406\u5668\u6709\u80fd\u529b\u8fd0\u884c\u591a\u4e2a\u7ebf\u7a0b.\u7136<br \/>\n\u800c,Linux \u5185\u6838\u8fd8\u662f\u628a\u6bcf\u4e2a\u5904\u7406\u5668\u6838\u5fc3\u7684\u53cc\u6838\u5fc3\u82af\u7247\u4f5c\u4e3a\u72ec\u7acb\u7684\u5904\u7406\u5668.\u6bd4\u5982,\u4ee5Linux \u5185\u6838\u7684\u7cfb\u7edf\u5728\u4e00\u4e2a<br \/>\n\u53cc\u6838\u5fc3\u5904\u7406\u5668\u4e0a,\u662f\u62a5\u544a\u663e\u793a\u4e3a\u4e24\u4e2a\u72ec\u7acb\u7684\u5904\u7406\u5668.<br \/>\n\u4e00\u4e2a\u6807\u51c6\u7684Linux \u5185\u6838\u53ef\u4ee5\u8fd0\u884c50 \u81f3 50,000 \u7684\u5904\u7406\u7ebf\u7a0b.\u5728\u53ea\u6709\u4e00\u4e2aCPU\u65f6,\u5185\u6838\u5c06\u8c03\u5ea6\u5e76\u5747\u8861\u6bcf\u4e2a\u8fdb<br \/>\n\u7a0b\u7ebf\u7a0b.\u6bcf\u4e2a\u7ebf\u7a0b\u90fd\u5206\u914d\u4e00\u4e2a\u5728\u5904\u7406\u5668\u4e2d\u88ab\u5f00\u9500\u7684\u65f6\u95f4\u989d\u5ea6.\u4e00\u4e2a\u7ebf\u7a0b\u8981\u4e48\u5c31\u662f\u83b7\u5f97\u65f6\u95f4\u989d\u5ea6\u6216\u5df2\u62a2\u5148\u83b7\u5f97<br \/>\n\u4e00\u4e9b\u5177\u6709\u8f83\u9ad8\u4f18\u5148\u7ea7(\u6bd4\u5982\u786c\u4ef6\u4e2d\u65ad),\u5176\u4e2d\u8f83\u9ad8\u4f18\u5148\u7ea7\u7684\u7ebf\u7a0b\u5c06\u4ece\u533a\u57df\u91cd\u65b0\u653e\u7f6e\u56de\u5904\u7406\u5668\u7684\u961f\u5217\u4e2d.\u8fd9\u79cd\u7ebf<br \/>\n\u7a0b\u7684\u8f6c\u6362\u5173\u7cfb\u5c31\u662f\u6211\u4eec\u63d0\u5230\u7684\u4e0a\u4e0b\u6587\u5207\u6362.<br \/>\n\u6bcf\u6b21\u5185\u6838\u7684\u4e0a\u4e0b\u6587\u5207\u6362,\u8d44\u6e90\u88ab\u7528\u4e8e\u5173\u95ed\u5728CPU\u5bc4\u5b58\u5668\u4e2d\u7684\u7ebf\u7a0b\u548c\u653e\u7f6e\u5728\u961f\u5217\u4e2d.\u7cfb\u7edf\u4e2d\u8d8a\u591a\u7684\u4e0a\u4e0b\u6587\u5207<br \/>\n\u6362,\u5728\u5904\u7406\u5668\u7684\u8c03\u5ea6\u7ba1\u7406\u4e0b,\u5185\u6838\u5c06\u5f97\u5230\u66f4\u591a\u7684\u5de5\u4f5c.<br \/>\n3.2 \u8fd0\u884c\u961f\u5217<br \/>\n\u6bcf\u4e2aCPU \u90fd\u7ef4\u62a4\u4e00\u4e2a\u7ebf\u7a0b\u7684\u8fd0\u884c\u961f\u5217.\u7406\u8bba\u4e0a,\u8c03\u5ea6\u5668\u5e94\u8be5\u4e0d\u65ad\u7684\u8fd0\u884c\u548c\u6267\u884c\u7ebf\u7a0b.\u8fdb\u7a0b\u7ebf\u7a0b\u4e0d\u662f\u5728sleep<br \/>\n\u72b6\u6001\u4e2d(\u963b\u585e\u4e2d\u548c\u7b49\u5f85IO\u4e2d)\u6216\u5c31\u662f\u5728\u53ef\u8fd0\u884c\u72b6\u6001\u4e2d.\u5982\u679cCPU \u5b50\u7cfb\u7edf\u5904\u4e8e\u9ad8\u8d1f\u8377\u4e0b,\u90a3\u5c31\u610f\u5473\u7740\u5185\u6838\u8c03\u5ea6<br \/>\n\u5c06\u65e0\u6cd5\u53ca\u65f6\u54cd\u5e94\u7cfb\u7edf\u8bf7\u6c42.\u5bfc\u81f4\u7ed3\u679c,\u53ef\u8fd0\u884c\u72b6\u6001\u8fdb\u7a0b\u62e5\u585e\u5728\u8fd0\u884c\u961f\u5217\u91cc.\u5f53\u8fd0\u884c\u961f\u5217\u8d8a\u6765\u8d8a\u5de8\u5927,\u8fdb\u7a0b\u7ebf\u7a0b<br \/>\n\u5c06\u82b1\u8d39\u66f4\u591a\u7684\u65f6\u95f4\u83b7\u53d6\u88ab\u6267\u884c.<br \/>\n\u6bd4\u8f83\u6d41\u884c\u7684\u672f\u8bed\u5c31\u662f&#8221;load&#8221;,\u5b83\u63d0\u4f9b\u5f53\u524d\u8fd0\u884c\u961f\u5217\u7684\u8be6\u7ec6\u72b6\u6001.\u7cfb\u7edf load \u5c31\u662f\u6307\u5728CPU \u961f\u5217\u4e2d\u6709\u591a\u5c11\u6570\u76ee<br \/>\n\u7684\u7ebf\u7a0b,\u4ee5\u53ca\u5176\u4e2d\u5f53\u524d\u6709\u591a\u5c11\u8fdb\u7a0b\u7ebf\u7a0b\u6570\u76ee\u88ab\u6267\u884c\u7684\u7ec4\u5408.\u5982\u679c\u4e00\u4e2a\u53cc\u6838\u7cfb\u7edf\u6267\u884c\u4e862\u4e2a\u7ebf\u7a0b,\u8fd8\u67094\u4e2a\u5728\u8fd0<br \/>\n\u884c\u961f\u5217\u4e2d,\u5219 load \u5e94\u8be5\u4e3a 6. top \u8fd9\u4e2a\u7a0b\u5e8f\u91cc\u663e\u793a\u7684load averages \u662f\u63071,5,15 \u5206\u949f\u4ee5\u5185\u7684load \u60c5\u51b5.<br \/>\n3.3 CPU \u5229\u7528\u7387<br \/>\nCPU \u5229\u7528\u7387\u5c31\u662f\u5b9a\u4e49CPU \u4f7f\u7528\u7684\u767e\u5206\u6bd4.\u8bc4\u4f30\u7cfb\u7edf\u6700\u91cd\u8981\u7684\u4e00\u4e2a\u5ea6\u91cf\u65b9\u5f0f\u5c31\u662fCPU \u7684\u5229\u7528\u7387.\u591a\u6570\u6027\u80fd<br \/>\n\u76d1\u63a7\u5de5\u5177\u5173\u4e8eCPU \u5229\u7528\u7387\u7684\u5206\u7c7b\u6709\u4ee5\u4e0b\u51e0\u79cd:<br \/>\nUser Time(\u7528\u6237\u8fdb\u7a0b\u65f6\u95f4) \u5173<br \/>\n\u4e8e\u5728user space\u4e2d\u88ab\u6267\u884c\u8fdb\u7a0b\u5728CPU \u5f00\u9500\u65f6\u95f4\u767e\u5206\u6bd4.<br \/>\nSystem Time(\u5185\u6838\u7ebf\u7a0b\u4ee5\u53ca\u4e2d\u65ad\u65f6\u95f4) \u5173<br \/>\n\u4e8e\u5728kernel space\u4e2d\u7ebf\u7a0b\u548c\u4e2d\u65ad\u5728CPU \u5f00\u9500\u65f6\u95f4\u767e\u5206\u6bd4.<br \/>\nWait IO(IO \u8bf7\u6c42\u7b49\u5f85\u65f6\u95f4) \u6240<br \/>\n\u6709\u8fdb\u7a0b\u7ebf\u7a0b\u88ab\u963b\u585e\u7b49\u5f85\u5b8c\u6210\u4e00\u6b21IO \u8bf7\u6c42\u6240\u5360CPU \u5f00\u9500idle\u7684\u65f6\u95f4\u767e\u5206<br \/>\n\u6bd4.<br \/>\nIdle(\u7a7a\u95f2) \u4e00\u4e2a\u5b8c\u6574\u7a7a\u95f2\u72b6\u6001\u7684\u8fdb\u7a0b\u5728CPU \u5904\u7406\u5668\u4e2d\u5f00\u9500\u7684\u65f6\u95f4\u767e\u5206\u6bd4.<br \/>\n<strong>4.0 CPU \u6027\u80fd\u76d1\u63a7<\/strong><br \/>\n\u7406\u89e3\u8fd0\u884c\u961f\u5217,\u5229\u7528\u7387,\u4e0a\u4e0b\u6587\u5207\u6362\u5bf9\u600e\u6837CPU \u6027\u80fd\u6700\u4f18\u5316\u4e4b\u95f4\u7684\u5173\u7cfb.\u65e9\u671f\u63d0\u53ca\u5230,\u6027\u80fd\u662f\u76f8\u5bf9\u4e8e\u57fa\u51c6\u7ebf\u6570<br \/>\n\u636e\u7684.\u5728\u4e00\u4e9b\u7cfb\u7edf\u4e2d,\u901a\u5e38\u9884\u671f\u6240\u8fbe\u5230\u7684\u6027\u80fd\u5305\u62ec:<br \/>\nRun Queues \u6bcf<br \/>\n\u4e2a\u5904\u7406\u5668\u5e94\u8be5\u8fd0\u884c\u961f\u5217\u4e0d\u8d85\u8fc713<br \/>\n\u4e2a\u7ebf\u7a0b.\u4f8b\u5b50,\u4e00\u4e2a\u53cc\u6838\u5904\u7406\u5668\u5e94\u8be5\u8fd0\u884c\u961f\u5217\u4e0d\u8981\u8d85\u8fc7<br \/>\n6 \u4e2a\u7ebf\u7a0b.<br \/>\nCPU Utiliation \u5982<br \/>\n\u679c\u4e00\u4e2aCPU \u88ab\u5145\u5206\u4f7f\u7528,\u5229\u7528\u7387\u5206\u7c7b\u4e4b\u95f4\u5747\u8861\u7684\u6bd4\u4f8b\u5e94\u8be5\u662f<br \/>\n65% 70%<br \/>\nUser Time<br \/>\n30% 35%<br \/>\nSystem Time<br \/>\n0% 5%<br \/>\nIdle Time<br \/>\nContext Switches \u4e0a<br \/>\n\u4e0b\u6587\u5207\u6362\u7684\u6570\u76ee\u76f4\u63a5\u5173\u7cfb\u5230CPU \u7684\u4f7f\u7528\u7387,\u5982\u679cCPU \u5229\u7528\u7387\u4fdd\u6301\u5728\u4e0a\u8ff0\u5747\u8861\u72b6\u6001<br \/>\n\u65f6,\u5927\u91cf\u7684\u4e0a\u4e0b\u6587\u5207\u6362\u662f\u6b63\u5e38\u7684.<br \/>\n\u5f88\u591aLinux \u4e0a\u7684\u5de5\u5177\u53ef\u4ee5\u5f97\u5230\u8fd9\u4e9b\u72b6\u6001\u503c,\u9996\u5148\u5c31\u662f vmstat \u548c top \u8fd92\u4e2a\u5de5\u5177.<br \/>\n4.1 vmstat \u5de5\u5177\u7684\u4f7f\u7528<br \/>\nvmstat \u5de5\u5177\u63d0\u4f9b\u4e86\u4e00\u79cd\u4f4e\u5f00\u9500\u7684\u7cfb\u7edf\u6027\u80fd\u89c2\u5bdf\u65b9\u5f0f.\u56e0\u4e3a vmstat \u672c\u8eab\u5c31\u662f\u4f4e\u5f00\u9500\u5de5\u5177,\u5728\u975e\u5e38\u9ad8\u8d1f\u8377\u7684\u670d<br \/>\n\u52a1\u5668\u4e0a,\u4f60\u9700\u8981\u67e5\u770b\u5e76\u76d1\u63a7\u7cfb\u7edf\u7684\u5065\u5eb7\u60c5\u51b5,\u5728\u63a7\u5236\u7a97\u53e3\u8fd8\u662f\u80fd\u591f\u4f7f\u7528vmstat \u8f93\u51fa\u7ed3\u679c.\u8fd9\u4e2a\u5de5\u5177\u8fd0\u884c\u57282<br \/>\n\u79cd\u6a21\u5f0f\u4e0b:average \u548c sample \u6a21\u5f0f.sample \u6a21\u5f0f\u901a\u8fc7\u6307\u5b9a\u95f4\u9694\u65f6\u95f4\u6d4b\u91cf\u72b6\u6001\u503c.\u8fd9\u4e2a\u6a21\u5f0f\u5bf9\u4e8e\u7406\u89e3\u5728\u6301\u7eed<br \/>\n\u8d1f\u8377\u4e0b\u7684\u6027\u80fd\u8868\u73b0,\u5f88\u6709\u5e2e\u52a9.\u4e0b\u9762\u5c31\u662f<br \/>\nvmstat \u8fd0\u884c1\u79d2\u95f4\u9694\u7684\u793a\u4f8b:<br \/>\n# vmstat 1<br \/>\nprocs memoryswapiosystemcpur<br \/>\nb swpd free buff cache si so bi bo in cs us sy id wa<br \/>\n0 0 104300 16800 95328 72200 0 0 5 26 7 14 4 1 95 0<br \/>\n0 0 104300 16800 95328 72200 0 0 0 24 1021 64 1 1 98 0<br \/>\n0 0 104300 16800 95328 72200 0 0 0 0 1009 59 1 1 98 0<br \/>\nThe vmstat CPU statistics<br \/>\nField Description<br \/>\nr The amount of threads in the run queue. These are threads that are runnable, but the CPU is not<br \/>\navailable to execute them.<br \/>\n\u5f53\u524d\u8fd0\u884c\u961f\u5217\u4e2d\u7ebf\u7a0b\u7684\u6570\u76ee.\u4ee3\u8868\u7ebf\u7a0b\u5904\u4e8e\u53ef\u8fd0\u884c\u72b6\u6001,\u4f46CPU \u8fd8\u672a\u80fd\u6267\u884c.<br \/>\nb This is the number of processes blocked and waiting on IO requests to finish.<br \/>\n\u5f53\u524d\u8fdb\u7a0b\u963b\u585e\u5e76\u7b49\u5f85IO \u8bf7\u6c42\u5b8c\u6210\u7684\u6570\u76ee<br \/>\nin This is the number of interrupts being processed.<br \/>\n\u5f53\u524d\u4e2d\u65ad\u88ab\u5904\u7406\u7684\u6570\u76ee<br \/>\ncs This is the number of context switches currently happening on the system.<br \/>\n\u5f53\u524dkernel system\u4e2d,\u53d1\u751f\u4e0a\u4e0b\u6587\u5207\u6362\u7684\u6570\u76ee<br \/>\nus This is the percentage of user CPU utilization.<br \/>\nCPU \u5229\u7528\u7387\u7684\u767e\u5206\u6bd4<br \/>\nsys This is the percentage of kernel and interrupts utilization.<br \/>\n\u5185\u6838\u548c\u4e2d\u65ad\u5229\u7528\u7387\u7684\u767e\u5206\u6bd4<br \/>\nwa This is the percentage of idle processor time due to the fact that ALL runnable threads are<br \/>\nblocked waiting on IO.<br \/>\n\u6240\u6709\u53ef\u8fd0\u884c\u72b6\u6001\u7ebf\u7a0b\u88ab\u963b\u585e\u5728\u7b49\u5f85IO \u8bf7\u6c42\u7684\u767e\u5206\u6bd4<br \/>\nid This is the percentage of time that the CPU is completely idle.<br \/>\nCPU \u7a7a\u95f2\u65f6\u95f4\u7684\u767e\u5206\u6bd4<br \/>\n4.2 \u6848\u4f8b\u5b66\u4e60:\u6301\u7eed\u7684CPU \u5229\u7528\u7387<br \/>\n\u5728\u8fd9\u4e2a\u4f8b\u5b50\u4e2d,\u8fd9\u4e2a\u7cfb\u7edf\u88ab\u5145\u5206\u5229\u7528<br \/>\n# vmstat 1<br \/>\nprocs memory swap io system cpu<br \/>\nr b swpd free buff cache si so bi bo in cs us sy wa id<br \/>\n3 0 206564 15092 80336 176080 0 0 0 0 718 26 81 19 0 0<br \/>\n2 0 206564 14772 80336 176120 0 0 0 0 758 23 96 4 0 0<br \/>\n1 0 206564 14208 80336 176136 0 0 0 0 820 20 96 4 0 0<br \/>\n1 0 206956 13884 79180 175964 0 412 0 2680 1008 80 93 7 0 0<br \/>\n2 0 207348 14448 78800 175576 0 412 0 412 763 70 84 16 0 0<br \/>\n2 0 207348 15756 78800 175424 0 0 0 0 874 25 89 11 0 0<br \/>\n1 0 207348 16368 78800 175596 0 0 0 0 940 24 86 14 0 0<br \/>\n1 0 207348 16600 78800 175604 0 0 0 0 929 27 95 3 0 2<br \/>\n3 0 207348 16976 78548 175876 0 0 0 2508 969 35 93 7 0 0<br \/>\n4 0 207348 16216 78548 175704 0 0 0 0 874 36 93 6 0 1<br \/>\n4 0 207348 16424 78548 175776 0 0 0 0 850 26 77 23 0 0<br \/>\n2 0 207348 17496 78556 175840 0 0 0 0 736 23 83 17 0 0<br \/>\n0 0 207348 17680 78556 175868 0 0 0 0 861 21 91 8 0 1<br \/>\n\u6839\u636e\u89c2\u5bdf\u503c,\u6211\u4eec\u53ef\u4ee5\u5f97\u5230\u4ee5\u4e0b\u7ed3\u8bba:<br \/>\n1,\u6709\u5927\u91cf\u7684\u4e2d\u65ad(in) \u548c\u8f83\u5c11\u7684\u4e0a\u4e0b\u6587\u5207\u6362(cs).\u8fd9\u610f\u5473\u7740\u4e00\u4e2a\u5355\u4e00\u7684\u8fdb\u7a0b\u5728\u4ea7\u751f\u5bf9\u786c\u4ef6\u8bbe\u5907\u7684\u8bf7\u6c42.<br \/>\n2,\u8fdb\u4e00\u6b65\u663e\u793a\u67d0\u5355\u4e2a\u5e94\u7528,user time(us) \u7ecf\u5e38\u572885%\u6216\u8005\u66f4\u591a.\u8003\u8651\u5230\u8f83\u5c11\u7684\u4e0a\u4e0b\u6587\u5207\u6362,\u8fd9\u4e2a\u5e94\u7528\u5e94\u8be5\u8fd8<br \/>\n\u5728\u5904\u7406\u5668\u4e2d\u88ab\u5904\u7406.<br \/>\n3,\u8fd0\u884c\u961f\u5217\u8fd8\u5728\u53ef\u63a5\u53d7\u7684\u6027\u80fd\u8303\u56f4\u5185,\u5176\u4e2d\u67092\u4e2a\u5730\u65b9,\u662f\u8d85\u51fa\u4e86\u5141\u8bb8\u9650\u5236.<br \/>\n4.3 \u6848\u4f8b\u5b66\u4e60:\u8d85\u8d1f\u8377\u8c03\u5ea6<br \/>\n\u5728\u8fd9\u4e2a\u4f8b\u5b50\u4e2d,\u5185\u6838\u8c03\u5ea6\u4e2d\u7684\u4e0a\u4e0b\u6587\u5207\u6362\u5904\u4e8e\u9971\u548c<br \/>\n# vmstat 1<br \/>\nprocs memory swap io system cpu<br \/>\nr b swpd free buff cache si so bi bo in cs us sy wa id<br \/>\n2 1 207740 98476 81344 180972 0 0 2496 0 900 2883 4 12 57 27<br \/>\n0 1 207740 96448 83304 180984 0 0 1968 328 810 2559 8 9 83 0<br \/>\n0 1 207740 94404 85348 180984 0 0 2044 0 829 2879 9 6 78 7<br \/>\n0 1 207740 92576 87176 180984 0 0 1828 0 689 2088 3 9 78 10<br \/>\n2 0 207740 91300 88452 180984 0 0 1276 0 565 2182 7 6 83 4<br \/>\n3 1 207740 90124 89628 180984 0 0 1176 0 551 2219 2 7 91 0<br \/>\n4 2 207740 89240 90512 180984 0 0 880 520 443 907 22 10 67 0<br \/>\n5 3 207740 88056 91680 180984 0 0 1168 0 628 1248 12 11 77 0<br \/>\n4 2 207740 86852 92880 180984 0 0 1200 0 654 1505 6 7 87 0<br \/>\n6 1 207740 85736 93996 180984 0 0 1116 0 526 1512 5 10 85 0<br \/>\n0 1 207740 84844 94888 180984 0 0 892 0 438 1556 6 4 90 0<br \/>\n\u6839\u636e\u89c2\u5bdf\u503c,\u6211\u4eec\u53ef\u4ee5\u5f97\u5230\u4ee5\u4e0b\u7ed3\u8bba:<br \/>\n1,\u4e0a\u4e0b\u6587\u5207\u6362\u6570\u76ee\u9ad8\u4e8e\u4e2d\u65ad\u6570\u76ee,\u8bf4\u660ekernel\u4e2d\u76f8\u5f53\u6570\u91cf\u7684\u65f6\u95f4\u90fd\u5f00\u9500\u5728\u4e0a\u4e0b\u6587\u5207\u6362\u7ebf\u7a0b.<br \/>\n2,\u5927\u91cf\u7684\u4e0a\u4e0b\u6587\u5207\u6362\u5c06\u5bfc\u81f4CPU \u5229\u7528\u7387\u5206\u7c7b\u4e0d\u5747\u8861.\u5f88\u660e\u663e\u5b9e\u9645\u4e0a\u7b49\u5f85io \u8bf7\u6c42\u7684\u767e\u5206\u6bd4(wa)\u975e\u5e38\u9ad8,\u4ee5\u53ca<br \/>\nuser time\u767e\u5206\u6bd4\u975e\u5e38\u4f4e(us).<br \/>\n3,\u56e0\u4e3aCPU \u90fd\u963b\u585e\u5728IO\u8bf7\u6c42\u4e0a,\u6240\u4ee5\u8fd0\u884c\u961f\u5217\u91cc\u4e5f\u6709\u76f8\u5f53\u6570\u76ee\u7684\u53ef\u8fd0\u884c\u72b6\u6001\u7ebf\u7a0b\u5728\u7b49\u5f85\u6267\u884c.<br \/>\n4.4 mpstat \u5de5\u5177\u7684\u4f7f\u7528<br \/>\n\u5982\u679c\u4f60\u7684\u7cfb\u7edf\u8fd0\u884c\u5728\u591a\u5904\u7406\u5668\u82af\u7247\u4e0a,\u4f60\u53ef\u4ee5\u4f7f\u7528 mpstat \u547d\u4ee4\u6765\u76d1\u63a7\u6bcf\u4e2a\u72ec\u7acb\u7684\u82af\u7247.Linux \u5185\u6838\u89c6\u53cc\u6838<br \/>\n\u5904\u7406\u5668\u4e3a2 CPU&#8217;s,\u56e0\u6b64\u4e00\u4e2a\u53cc\u6838\u5904\u7406\u5668\u7684\u53cc\u5185\u6838\u5c31\u62a5\u544a\u67094 CPU&#8217;s \u53ef\u7528.<br \/>\nmpstat \u547d\u4ee4\u7ed9\u51fa\u7684CPU \u5229\u7528\u7387\u7edf\u8ba1\u503c\u5927\u81f4\u548c vmstat \u4e00\u81f4,\u4f46\u662f mpstat \u53ef\u4ee5\u7ed9\u51fa\u57fa\u4e8e\u5355\u4e2a\u5904\u7406\u5668\u7684\u7edf\u8ba1<br \/>\n\u503c.<br \/>\n# mpstat \u2013P ALL 1<br \/>\nLinux 2.4.2120.<br \/>\nELsmp (localhost.localdomain) 05\/23\/2006<br \/>\n05:17:31 PM CPU %user %nice %system %idle intr\/s<br \/>\n05:17:32 PM all 0.00 0.00 3.19 96.53 13.27<br \/>\n05:17:32 PM 0 0.00 0.00 0.00 100.00 0.00<br \/>\n05:17:32 PM 1 1.12 0.00 12.73 86.15 13.27<br \/>\n05:17:32 PM 2 0.00 0.00 0.00 100.00 0.00<br \/>\n05:17:32 PM 3 0.00 0.00 0.00 100.00 0.00<br \/>\n4.5 \u6848\u4f8b\u5b66\u4e60: \u672a\u5145\u5206\u4f7f\u7528\u7684\u5904\u7406\u91cf<br \/>\n\u5728\u8fd9\u4e2a\u4f8b\u5b50\u4e2d,\u4e3a4 CPU\u6838\u5fc3\u53ef\u7528.\u5176\u4e2d2\u4e2aCPU \u4e3b\u8981\u5904\u7406\u8fdb\u7a0b\u8fd0\u884c(CPU 0 \u548c1).\u7b2c3\u4e2a\u6838\u5fc3\u5904\u7406\u6240\u6709<br \/>\n\u5185\u6838\u548c\u5176\u4ed6\u7cfb\u7edf\u529f\u80fd(CPU 3).\u7b2c4\u4e2a\u6838\u5fc3\u5904\u4e8eidle(CPU 2).<br \/>\n\u4f7f\u7528 top \u547d\u4ee4\u53ef\u4ee5\u770b\u5230\u67093\u4e2a\u8fdb\u7a0b\u5dee\u4e0d\u591a\u5b8c\u5168\u5360\u7528\u4e86\u6574\u4e2aCPU \u6838\u5fc3.<br \/>\n# top d<br \/>\n1<br \/>\ntop 23:<br \/>\n08:53 up 8:34, 3 users, load average: 0.91, 0.37, 0.13<br \/>\nTasks: 190 total, 4 running, 186 sleeping, 0 stopped, 0 zombie<br \/>\nCpu(s): 75.2% us, 0.2% sy, 0.0% ni, 24.5% id, 0.0% wa, 0.0% hi, 0.0%<br \/>\nsi<br \/>\nMem: 2074736k total, 448684k used, 1626052k free, 73756k buffers<br \/>\nSwap: 4192956k total, 0k used, 4192956k free, 259044k cached<br \/>\nPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND<br \/>\n15957 nobody 25 0 2776 280 224 R 100 20.5 0:25.48 php<br \/>\n15959 mysql 25 0 2256 280 224 R 100 38.2 0:17.78 mysqld<br \/>\n15960 apache 25 0 2416 280 224 R 100 15.7 0:11.20 httpd<br \/>\n15901 root 16 0 2780 1092 800 R 1 0.1 0:01.59 top<br \/>\n1 root 16 0 1780 660 572 S 0 0.0 0:00.64 init<br \/>\n# mpstat \u2013P ALL 1<br \/>\nLinux 2.4.2120.<br \/>\nELsmp (localhost.localdomain) 05\/23\/2006<br \/>\n05:17:31 PM CPU %user %nice %system %idle intr\/s<br \/>\n05:17:32 PM all 81.52 0.00 18.48 21.17 130.58<br \/>\n05:17:32 PM 0 83.67 0.00 17.35 0.00 115.31<br \/>\n05:17:32 PM 1 80.61 0.00 19.39 0.00 13.27<br \/>\n05:17:32 PM 2 0.00 0.00 16.33 84.66 2.01<br \/>\n05:17:32 PM 3 79.59 0.00 21.43 0.00 0.00<br \/>\n05:17:32 PM CPU %user %nice %system %idle intr\/s<br \/>\n05:17:33 PM all 85.86 0.00 14.14 25.00 116.49<br \/>\n05:17:33 PM 0 88.66 0.00 12.37 0.00 116.49<br \/>\n05:17:33 PM 1 80.41 0.00 19.59 0.00 0.00<br \/>\n05:17:33 PM 2 0.00 0.00 0.00 100.00 0.00<br \/>\n05:17:33 PM 3 83.51 0.00 16.49 0.00 0.00<br \/>\n05:17:33 PM CPU %user %nice %system %idle intr\/s<br \/>\n05:17:34 PM all 82.74 0.00 17.26 25.00 115.31<br \/>\n05:17:34 PM 0 85.71 0.00 13.27 0.00 115.31<br \/>\n05:17:34 PM 1 78.57 0.00 21.43 0.00 0.00<br \/>\n05:17:34 PM 2 0.00 0.00 0.00 100.00 0.00<br \/>\n05:17:34 PM 3 92.86 0.00 9.18 0.00 0.00<br \/>\n05:17:34 PM CPU %user %nice %system %idle intr\/s<br \/>\n05:17:35 PM all 87.50 0.00 12.50 25.00 115.31<br \/>\n05:17:35 PM 0 91.84 0.00 8.16 0.00 114.29<br \/>\n05:17:35 PM 1 90.82 0.00 10.20 0.00 1.02<br \/>\n05:17:35 PM 2 0.00 0.00 0.00 100.00 0.00<br \/>\n05:17:35 PM 3 81.63 0.00 15.31 0.00 0.00<br \/>\n\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528 ps \u547d\u4ee4\u901a\u8fc7\u67e5\u770b PSR \u8fd9\u5217,\u68c0\u67e5\u54ea\u4e2a\u8fdb\u7a0b\u5728\u5360\u7528\u4e86\u54ea\u4e2aCPU.<br \/>\n# while :; do ps eo<br \/>\npid,ni,pri,pcpu,psr,comm | grep &#8216;mysqld&#8217;; sleep 1;<br \/>\ndone<br \/>\nPID NI PRI %CPU PSR COMMAND<br \/>\n15775 0 15 86.0 3 mysqld<br \/>\nPID NI PRI %CPU PSR COMMAND<br \/>\n15775 0 14 94.0 3 mysqld<br \/>\nPID NI PRI %CPU PSR COMMAND<br \/>\n15775 0 14 96.6 3 mysqld<br \/>\nPID NI PRI %CPU PSR COMMAND<br \/>\n15775 0 14 98.0 3 mysqld<br \/>\nPID NI PRI %CPU PSR COMMAND<br \/>\n15775 0 14 98.8 3 mysqld<br \/>\nPID NI PRI %CPU PSR COMMAND<br \/>\n15775 0 14 99.3 3 mysqld<br \/>\n4.6 \u7ed3\u8bba<br \/>\n\u76d1\u63a7 CPU \u6027\u80fd\u7531\u4ee5\u4e0b\u51e0\u4e2a\u90e8\u5206\u7ec4\u6210:<br \/>\n1,\u68c0\u67e5system\u7684\u8fd0\u884c\u961f\u5217,\u4ee5\u53ca\u786e\u5b9a\u4e0d\u8981\u8d85\u51fa\u6bcf\u4e2a\u5904\u7406\u56683\u4e2a\u53ef\u8fd0\u884c\u72b6\u6001\u7ebf\u7a0b\u7684\u9650\u5236.<br \/>\n2,\u786e\u5b9aCPU \u5229\u7528\u7387\u4e2duser\/system\u6bd4\u4f8b\u7ef4\u6301\u572870\/30<br \/>\n3,\u5f53CPU \u5f00\u9500\u66f4\u591a\u7684\u65f6\u95f4\u5728system mode,\u90a3\u5c31\u8bf4\u660e\u5df2\u7ecf\u8d85\u8d1f\u8377\u5e76\u4e14\u5e94\u8be5\u5c1d\u8bd5\u91cd\u65b0\u8c03\u5ea6\u4f18\u5148\u7ea7<br \/>\n4,\u5f53I\/O \u5904\u7406\u5f97\u5230\u589e\u957f,CPU \u8303\u7574\u7684\u5e94\u7528\u5904\u7406\u5c06\u53d7\u5230\u5f71\u54cd<br \/>\n<strong>5.0 Virtual Memory \u4ecb\u7ecd<\/strong><br \/>\n\u865a\u62df\u5185\u5b58\u5c31\u662f\u91c7\u7528\u786c\u76d8\u5bf9\u7269\u7406\u5185\u5b58\u8fdb\u884c\u6269\u5c55,\u6240\u4ee5\u5bf9\u53ef\u7528\u5185\u5b58\u7684\u589e\u52a0\u662f\u8981\u76f8\u5bf9\u5728\u4e00\u4e2a\u6709\u6548\u8303\u56f4\u5185\u7684.\u5185\u6838\u4f1a<br \/>\n\u5199\u5f53\u524d\u672a\u4f7f\u7528\u5185\u5b58\u5757\u7684\u5185\u5bb9\u5230\u786c\u76d8\u4e0a,\u6b64\u65f6\u8fd9\u90e8\u5206\u5185\u5b58\u88ab\u7528\u4e8e\u5176\u5b83\u7528\u9014.\u5f53\u518d\u4e00\u6b21\u9700\u8981\u539f\u59cb\u5185\u5bb9\u65f6,\u6b64\u65f6\u518d\u8bfb<br \/>\n\u56de\u5230\u5185\u5b58\u4e2d.\u8fd9\u5bf9\u4e8e\u7528\u6237\u6765\u8bf4,\u662f\u5b8c\u5168\u900f\u660e\u7684;\u5728Linux \u4e0b\u8fd0\u884c\u7684\u7a0b\u5e8f\u80fd\u591f\u770b\u5230,\u4e5f\u4ec5\u4ec5\u662f\u5927\u91cf\u7684\u53ef\u7528\u5185\u5b58,\u540c<br \/>\n\u65f6\u4e5f\u4e0d\u4f1a\u7559\u610f\u5230,\u5076\u5c14\u8fd8\u6709\u90e8\u5206\u662f\u9a7b\u7559\u5728\u78c1\u76d8\u4e0a\u7684.\u5f53\u7136,\u5728\u786c\u76d8\u4e0a\u8fdb\u884c\u8bfb\u548c\u5199,\u90fd\u662f\u5f88\u6162\u7684(\u5927\u7ea6\u4f1a\u6162\u4e0a\u5343<br \/>\n\u500d),\u76f8\u5bf9\u4e8e\u4f7f\u7528\u771f\u5b9e\u5185\u5b58\u7684\u8bdd,\u56e0\u6b64\u7a0b\u5e8f\u65e0\u6cd5\u8fd0\u884c\u7684\u66f4\u5feb.\u7528\u786c\u76d8\u7684\u4e00\u90e8\u5206\u4f5c\u4e3aVirtual Memory,\u8fd9\u5c31\u88ab\u79f0<br \/>\n\u4e3a&#8221;swap space&#8221;(\u4ea4\u6362\u7a7a\u95f4).<br \/>\n5.1 Virtual Memory Pages<br \/>\n\u865a\u62df\u5185\u5b58\u88ab\u5206\u4e3a\u5f88\u591a pages(\u9875),\u5728X86\u67b6\u6784\u4e2d,\u6bcf\u4e2a\u865a\u62df\u5185\u5b58\u9875\u4e3a 4KB.\u5f53\u5185\u6838\u5199\u5185\u5b58\u5230\u78c1\u76d8\u6216\u8005\u8bfb\u78c1\u76d8<br \/>\n\u5230\u5185\u5b58,\u8fd9\u5c31\u662f\u4e00\u6b21\u5199\u5185\u5b58\u5230\u9875\u7684\u8fc7\u7a0b.\u5185\u6838\u901a\u5e38\u662f\u5728swap \u5206\u533a\u548c\u6587\u4ef6\u7cfb\u7edf\u4e4b\u95f4\u8fdb\u884c\u8fd9\u6837\u7684\u64cd\u4f5c.<br \/>\n5.2 Kernel Memory Paging<br \/>\n\u5185\u5b58\u5206\u9875\u5728\u6b63\u5e38\u60c5\u51b5\u4e0b\u603b\u662f\u6d3b\u8dc3\u7684,\u4e0ememory swapping(\u5185\u5b58\u4ea4\u6362)\u4e4b\u95f4\u4e0d\u8981\u641e\u9519\u4e86.\u5185\u5b58\u5206\u9875\u662f\u6307\u5185\u6838<br \/>\n\u4f1a\u5b9a\u671f\u5c06\u5185\u5b58\u4e2d\u7684\u6570\u636e\u540c\u6b65\u5230\u786c\u76d8,\u8fd9\u4e2a\u8fc7\u7a0b\u5c31\u662fMemory Paging.\u65e5\u590d\u4e00\u65e5,\u5e94\u7528\u6700\u7ec8\u5c06\u4f1a\u6d88\u8017\u6389\u6240\u6709\u7684<br \/>\n\u5185\u5b58\u7a7a\u95f4.\u8003\u8651\u5230\u8fd9\u70b9,\u5185\u6838\u5c31\u5fc5\u987b\u7ecf\u5e38\u626b\u63cf\u5185\u5b58\u7a7a\u95f4\u5e76\u4e14\u6536\u56de\u5176\u4e2d\u672a\u88ab\u4f7f\u7528\u7684\u5185\u5b58\u9875,\u7136\u540e\u518d\u91cd\u65b0\u5206\u914d\u5185\u5b58<br \/>\n\u7a7a\u95f4\u7ed9\u5176\u4ed6\u5e94\u7528\u4f7f\u7528.<br \/>\n5.3 The Page Frame Reclaim Algorithm(PFRA)(\u9875\u6846\u56de\u6536\u7b97\u6cd5)<br \/>\nPFRA \u5c31\u662fOS \u5185\u6838\u7528\u6765\u56de\u6536\u5e76\u91ca\u653e\u5185\u5b58\u7a7a\u95f4\u7684\u7b97\u6cd5.PFRA \u9009\u62e9\u54ea\u4e2a\u5185\u5b58\u9875\u88ab\u91ca\u653e\u662f\u57fa\u4e8e\u5185\u5b58\u9875\u7c7b\u578b\u7684.<br \/>\n\u9875\u7c7b\u578b\u6709\u4ee5\u4e0b\u51e0\u79cd:<br \/>\nUnreclaimable \u2013\u9501\u5b9a\u7684\uff0c\u5185\u6838\u4fdd\u7559\u7684\u9875\u9762<br \/>\nSwappable \u2013\u533f\u540d\u7684\u5185\u5b58\u9875<br \/>\nSyncable \u2013\u901a\u8fc7\u786c\u76d8\u6587\u4ef6\u5907\u4efd\u7684\u5185\u5b58\u9875<br \/>\nDiscardable \u2013\u9759\u6001\u9875\u548c\u88ab\u4e22\u5f03\u7684\u9875<br \/>\n\u9664\u4e86\u7b2c\u4e00\u79cd\uff08Unreclaimable\uff09\u4e4b\u5916\u5176\u4f59\u7684\u90fd\u53ef\u4ee5\u88abPFRA\u8fdb\u884c\u56de\u6536.<br \/>\n\u4e0ePFRA \u76f8\u5173\u7684,\u8fd8\u5305\u62eckswapd \u5185\u6838\u7ebf\u7a0b\u4ee5\u53caLow On Memory Reclaiming(LMR\u7b97\u6cd5) \u8fd92\u79cd\u8fdb\u7a0b<br \/>\n\u548c\u5b9e\u73b0.<br \/>\n5.4 kswapd<br \/>\nkswapd \u8fdb\u7a0b\u8d1f\u8d23\u786e\u4fdd\u5185\u5b58\u7a7a\u95f4\u603b\u662f\u5728\u88ab\u91ca\u653e\u4e2d.\u5b83\u76d1\u63a7\u5185\u6838\u4e2d\u7684pages_high\u548cpages_low\u9600\u503c.\u5982\u679c\u7a7a<br \/>\n\u95f2\u5185\u5b58\u7684\u6570\u503c\u4f4e\u4e8e pages_low,\u5219\u6bcf\u6b21 kswapd \u8fdb\u7a0b\u542f\u52a8\u626b\u63cf\u5e76\u5c1d\u8bd5\u91ca\u653e32\u4e2afree pages.\u5e76\u4e00\u76f4\u91cd\u590d\u8fd9<br \/>\n\u4e2a\u8fc7\u7a0b,\u76f4\u5230\u7a7a\u95f2\u5185\u5b58\u7684\u6570\u503c\u9ad8\u4e8e pages_high.<br \/>\nkswapd \u8fdb\u7a0b\u5b8c\u6210\u4ee5\u4e0b\u51e0\u4e2a\u64cd\u4f5c:<br \/>\n1,\u5982\u679c\u8be5\u9875\u5904\u4e8e\u672a\u4fee\u6539\u72b6\u6001,\u5219\u5c06\u8be5\u9875\u653e\u7f6e\u56de\u7a7a\u95f2\u5217\u8868\u4e2d.<br \/>\n2,\u5982\u679c\u8be5\u9875\u5904\u4e8e\u5df2\u4fee\u6539\u72b6\u6001\u5e76\u53ef\u5907\u4efd\u56de\u6587\u4ef6\u7cfb\u7edf,\u5219\u5c06\u9875\u5185\u5bb9\u5199\u5165\u5230\u78c1\u76d8.<br \/>\n3,\u5982\u679c\u8be5\u9875\u5904\u4e8e\u5df2\u4fee\u6539\u72b6\u6001\u4f46\u6ca1\u6709\u4efb\u4f55\u78c1\u76d8\u5907\u4efd,\u5219\u5c06\u9875\u5185\u5bb9\u5199\u5165\u5230swap device.<br \/>\n# ps ef| grep kswapd<br \/>\nroot 30 1 0 23:01 ? 00:00:00 [kswapd0]<br \/>\n5.5 Kernel Paging with pdflush<br \/>\npdflush \u8fdb\u7a0b\u8d1f\u8d23\u5c06\u5185\u5b58\u4e2d\u7684\u5185\u5bb9\u548c\u6587\u4ef6\u7cfb\u7edf\u8fdb\u884c\u540c\u6b65\u64cd\u4f5c.\u4e5f\u5c31\u662f\u8bf4,\u5f53\u4e00\u4e2a\u6587\u4ef6\u5728\u5185\u5b58\u4e2d\u8fdb\u884c\u4fee\u6539\u540e,<br \/>\npdflush \u5c06\u8d1f\u8d23\u5199\u56de\u5230\u78c1\u76d8\u4e0a.<br \/>\n# ps ef| grep pdflush<br \/>\nroot 28 3 0 23:01 ? 00:00:00 [pdflush]<br \/>\nroot 29 3 0 23:01 ? 00:00:00 [pdflush]<br \/>\n\u5f53\u5185\u5b58\u4e2d\u5b58\u572810% \u7684\u810f\u9875,pdflush \u5c06\u88ab\u542f\u52a8\u540c\u6b65\u810f\u9875\u56de\u6587\u4ef6\u7cfb\u7edf\u91cc.\u8fd9\u4e2a\u53c2\u6570\u503c\u53ef\u4ee5\u901a\u8fc7<br \/>\nvm.dirty_background_ratio \u6765\u8fdb\u884c\u8c03\u6574.<br \/>\n(Q:\u4ec0\u4e48\u662f\u810f\u9875?<br \/>\nA:\u7531\u4e8e\u5185\u5b58\u4e2d\u9875\u7f13\u5b58\u7684\u7f13\u5b58\u4f5c\u7528,\u5199\u64cd\u4f5c\u5b9e\u9645\u4e0a\u90fd\u662f\u5ef6\u8fdf\u7684.\u5f53\u9875\u7f13\u5b58\u4e2d\u7684\u6570\u636e\u6bd4\u78c1\u76d8\u5b58\u50a8\u7684\u6570\u636e\u8fd8\u8981\u66f4\u65b0<br \/>\n\u65f6,\u90a3\u4e48\u8be5\u6570\u636e\u5c31\u88ab\u79f0\u505a\u810f\u9875.)<br \/>\n# sysctl n vm.dirty_background_ratio<br \/>\n10 \u5728\u591a\u6570\u73af\u5883\u4e0b,Pdflush\u4e0ePFRA\u662f\u72ec\u7acb\u8fd0\u884c\u7684,\u5f53\u5185\u6838\u8c03\u7528LMR\u65f6,LMR \u5c31\u89e6\u53d1pdflush\u5c06\u810f\u9875\u5199\u5165\u5230<br \/>\n\u78c1\u76d8\u91cc.<br \/>\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br \/>\n\u57282.4 \u5185\u6838\u4e0b,\u4e00\u4e2a\u9ad8\u8d1f\u8377\u7684\u5185\u5b58\u73af\u5883\u4e2d,\u7cfb\u7edf\u5c06\u9047\u5230\u4ea4\u6362\u8fc7\u7a0b\u4e2d\u4e0d\u65ad\u7684\u5d29\u6e83.\u8fd9\u662f\u56e0\u4e3aPFRA \u4ece\u4e00\u4e2a\u8fd0\u884c<br \/>\n\u8fdb\u7a0b\u4e2d,\u5077\u53d6\u5176\u4e2d\u4e00\u4e2a\u5185\u5b58\u9875\u5e76\u5c1d\u8bd5\u4f7f\u7528.\u5bfc\u81f4\u7ed3\u679c\u5c31\u662f,\u8fd9\u4e2a\u8fdb\u7a0b\u5982\u679c\u8981\u56de\u6536\u90a3\u4e2a\u9875\u65f6,\u8981\u662f\u6ca1\u6709\u5c31\u4f1a\u5c1d\u8bd5<br \/>\n\u518d\u53bb\u5077\u53d6\u8fd9\u4e2a\u9875,\u8fd9\u6837\u4e00\u6765,\u5c31\u8d8a\u6765\u8d8a\u7cdf\u7cd5\u4e86.\u57282.6 \u5185\u6838\u4e0b,\u4f7f\u7528&#8221;Swap token&#8221;\u4fee\u590d\u4e86\u8fd9\u4e2aBUG,\u7528\u6765\u9632\u6b62<br \/>\nPFRA \u4e0d\u65ad\u4ece\u4e00\u4e2a\u8fdb\u7a0b\u83b7\u53d6\u540c\u4e00\u4e2a\u9875.<br \/>\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br \/>\n5.6 \u6848\u4f8b\u5b66\u4e60:\u5927\u91cf\u7684\u5165\u53e3I\/O<br \/>\nvmstat \u5de5\u5177\u62a5\u544a\u91cc\u9664\u4e86CPU \u4f7f\u7528\u60c5\u51b5,\u8fd8\u5305\u62ec\u4e86\u865a\u62df\u5185\u5b58.\u4ee5\u4e0b\u5c31\u662fvmstat \u8f93\u51fa\u4e2d\u5173\u4e8e\u865a\u62df\u5185\u5b58\u7684\u90e8\u5206:<br \/>\nTable 2: The vmstat Memory Statistics<br \/>\nField Description<br \/>\nSwapd The amount of virtual memory in KB currently in use. As free memory reaches low<br \/>\nthresholds, more data is paged to the swap device.<br \/>\n\u5f53\u524d\u865a\u62df\u5185\u5b58\u4f7f\u7528\u7684\u603b\u989d(\u5355\u4f4d:KB).\u7a7a\u95f2\u5185\u5b58\u8fbe\u5230\u6700\u4f4e\u7684\u9600\u503c\u65f6,\u66f4\u591a\u7684\u6570\u636e\u88ab\u8f6c\u6362\u6210\u9875\u5230\u4ea4\u6362\u8bbe\u5907\u4e2d.<br \/>\nFree The amount of physical RAM in kilobytes currently available to running applications.<br \/>\n\u5f53\u524d\u5185\u5b58\u4e2d\u53ef\u7528\u7a7a\u95f4\u5b57\u8282\u6570.<br \/>\nBuff The amount of physical memory in kilobytes in the buffer cache as a result of read() and<br \/>\nwrite() operations.<br \/>\n\u5f53\u524d\u5185\u5b58\u4e2d\u7528\u4e8eread()\u548cwrite()\u64cd\u4f5c\u7684\u7f13\u51b2\u533a\u4e2d\u7f13\u5b58\u5b57\u8282\u6570<br \/>\nCache The amount of physical memory in kilobytes mapped into process address space.<br \/>\n\u5f53\u524d\u5185\u5b58\u4e2d\u6620\u5c04\u5230\u8fdb\u7a0b\u5730\u5740\u7a7a\u95f4\u5b57\u8282\u6570<br \/>\nSo The amount of data in kilobytes written to the swap disk.<br \/>\n\u5199\u5165\u4ea4\u6362\u7a7a\u95f4\u7684\u5b57\u8282\u6570\u603b\u989d<br \/>\nSi The amount of data in kilobytes written from the swap disk back into RAM.<br \/>\n\u4ece\u4ea4\u6362\u7a7a\u95f4\u5199\u56de\u5185\u5b58\u7684\u5b57\u8282\u6570\u603b\u989d<br \/>\nBo The amount of disk blocks paged out from the RAM to the filesystem or swap device.<br \/>\n\u78c1\u76d8\u5757\u9875\u9762\u4ece\u5185\u5b58\u5230\u6587\u4ef6\u6216\u4ea4\u6362\u8bbe\u5907\u7684\u603b\u989d<br \/>\nBi The amount of disk blocks paged into RAM from the filesystem or swap device.<br \/>\n\u78c1\u76d8\u5757\u9875\u9762\u4ece\u6587\u4ef6\u6216\u4ea4\u6362\u8bbe\u5907\u5230\u5185\u5b58\u7684\u603b\u989d<br \/>\n\u4ee5\u4e0b vmstat \u7684\u8f93\u51fa\u7ed3\u679c,\u5c31\u662f\u6f14\u793a\u4e00\u4e2a\u5728I\/O \u5e94\u7528\u4e2d,\u865a\u62df\u5185\u5b58\u5728\u9ad8\u8d1f\u8377\u60c5\u51b5\u4e0b\u7684\u73af\u5883<br \/>\n# vmstat 3<br \/>\nprocs memory swap io system cpu<br \/>\nr b swpd free buff cache si so bi bo in cs us sy id wa<br \/>\n3 2 809192 261556 79760 886880 416 0 8244 751 426 863 17 3 6 75<br \/>\n0 3 809188 194916 79820 952900 307 0 21745 1005 1189 2590 34 6 12 48<br \/>\n0 3 809188 162212 79840 988920 95 0 12107 0 1801 2633 2 2 3 94<br \/>\n1 3 809268 88756 79924 1061424 260 28 18377 113 1142 1694 3 5 3 88<br \/>\n1 2 826284 17608 71240 1144180 100 6140 25839 16380 1528 1179 19 9 12 61<br \/>\n2 1 854780 17688 34140 1208980 1 9535 25557 30967 1764 2238 43 13 16 28<br \/>\n0 8 867528 17588 32332 1226392 31 4384 16524 27808 1490 1634 41 10 7 43<br \/>\n4 2 877372 17596 32372 1227532 213 3281 10912 3337 678 932 33 7 3 57<br \/>\n1 2 885980 17800 32408 1239160 204 2892 12347 12681 1033 982 40 12 2 46<br \/>\n5 2 900472 17980 32440 1253884 24 4851 17521 4856 934 1730 48 12 13 26<br \/>\n1 1 904404 17620 32492 1258928 15 1316 7647 15804 919 978 49 9 17 25<br \/>\n4 1 911192 17944 32540 1266724 37 2263 12907 3547 834 1421 47 14 20 20<br \/>\n1 1 919292 17876 31824 1275832 1 2745 16327 2747 617 1421 52 11 23 14<br \/>\n5 0 925216 17812 25008 1289320 12 1975 12760 3181 772 1254 50 10 21 19<br \/>\n0 5 932860 17736 21760 1300280 8 2556 15469 3873 825 1258 49 13 24 15<br \/>\n\u6839\u636e\u89c2\u5bdf\u503c,\u6211\u4eec\u53ef\u4ee5\u5f97\u5230\u4ee5\u4e0b\u7ed3\u8bba:<br \/>\n1,\u5927\u91cf\u7684\u78c1\u76d8\u5757\u9875\u9762\u6765\u81ea\u6587\u4ef6\u7cfb\u7edf(bi),\u5f88\u660e\u663e\u5728\u8fdb\u7a0b\u5730\u5740\u7a7a\u95f4\u91cc,\u6570\u636e\u7f13\u5b58\u5728\u4e0d\u65ad\u7684\u589e\u957f.<br \/>\n2,\u5728\u8fd9\u4e2a\u65f6\u95f4\u70b9\u4e0a,\u7a7a\u95f2\u5185\u5b58(free) \u59cb\u7ec8\u4fdd\u6301\u572817MB,\u5373\u4f7f\u6570\u636e\u662f\u4ece\u78c1\u76d8\u5230\u5206\u9875\u800c\u5728\u6d88\u8017\u7a7a\u95f2RAM.<br \/>\n3,\u4e3a\u4e86\u7ef4\u62a4\u7a7a\u95f2\u5217\u8868, kswapd \u4ece\u8bfb\/\u5199\u7f13\u5b58\u533a(buff)\u4e2d\u83b7\u53d6\u5185\u5b58\u5e76\u5206\u914d\u5230\u7a7a\u95f2\u5217\u8868\u91cc.\u5f88\u660e\u663e\u53ef\u4ee5\u770b\u5230<br \/>\nbuffer cache(buff) \u5728\u9010\u6e10\u7684\u51cf\u5c11\u4e2d.<br \/>\n4, kswapd \u8fdb\u7a0b\u5f53\u5199\u810f\u9875\u5230\u4ea4\u6362\u8bbe\u5907(so)\u65f6,\u5f88\u660e\u663e\u865a\u62df\u5185\u5b58\u7684\u5229\u7528\u7387\u662f\u9010\u6e10\u7684\u589e\u52a0\u4e2d(swpd).<br \/>\n5.7 \u7ed3\u8bba<br \/>\n\u76d1\u63a7\u865a\u62df\u5185\u5b58\u6027\u80fd\u7531\u4ee5\u4e0b\u51e0\u4e2a\u90e8\u5206\u7ec4\u6210:<br \/>\n1,\u5f53\u7cfb\u7edf\u4e2d\u51fa\u73b0\u8f83\u91cd\u5927\u7684\u9875\u9519\u8bef,\u8981\u83b7\u5f97\u6700\u597d\u7684\u54cd\u5e94\u65f6\u95f4,\u5c31\u8981\u4f7f\u5f97memory caches(\u5185\u5b58\u9ad8\u901f\u7f13\u5b58)\u8d85\u8fc7<br \/>\ndisk caches(\u78c1\u76d8\u9ad8\u901f\u7f13\u5b58).<br \/>\n2,\u8f83\u5c11\u7684\u7a7a\u95f2\u5185\u5b58,\u662f\u4ef6\u597d\u4e8b\u60c5,\u90a3\u610f\u5473\u7740\u7f13\u5b58\u7684\u4f7f\u7528\u66f4\u6709\u6548\u7387.\u9664\u975e\u5728\u4e0d\u65ad\u7684\u5199\u5165swap device(\u4ea4\u6362\u8bbe\u5907)<br \/>\n\u548cdisk(\u786c\u76d8).<br \/>\n3,\u5982\u679c\u7cfb\u7edf\u4e0d\u65ad\u62a5\u544a,swap device\u603b\u662f\u7e41\u5fd9\u4e2d,\u90a3\u5c31\u610f\u5473\u7740\u5185\u5b58\u5df2\u7ecf\u4e0d\u8db3,\u9700\u8981\u5347\u7ea7\u4e86.<br \/>\n<strong>6.0\u00a0I\/O \u76d1\u63a7\u4ecb\u7ecd<\/strong><br \/>\n\u78c1\u76d8I\/O \u5b50\u7cfb\u7edf\u662fLinux \u7cfb\u7edf\u4e2d\u6700\u6162\u7684\u90e8\u5206.\u8fd9\u4e2a\u4e3b\u8981\u662f\u5f52\u4e8eCPU\u5230\u7269\u7406\u64cd\u4f5c\u78c1\u76d8\u4e4b\u95f4\u8ddd\u79bb(\u76d8\u7247\u65cb\u8f6c\u4ee5<br \/>\n\u53ca\u5bfb\u9053).\u5982\u679c\u62ff\u8bfb\u53d6\u78c1\u76d8\u548c\u5185\u5b58\u7684\u65f6\u95f4\u4f5c\u6bd4\u8f83\u5c31\u662f\u5206\u949f\u7ea7\u5230\u79d2\u7ea7,\u8fd9\u5c31\u50cf 7\u5929\u548c7\u5206\u949f\u7684\u533a\u522b.\u56e0\u6b64\u672c\u8d28<br \/>\n\u4e0a,Linux \u5185\u6838\u5c31\u662f\u8981\u6700\u4f4e\u7a0b\u5ea6\u7684\u964d\u4f4eI\/O \u6570.\u672c\u7ae0\u5c06\u8bc9\u8ff0\u5185\u6838\u5728\u78c1\u76d8\u548c\u5185\u5b58\u4e4b\u95f4\u5904\u7406\u6570\u636e\u7684\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d,\u54ea<br \/>\n\u4e9b\u5730\u65b9\u4f1a\u4ea7\u751fI\/O.<br \/>\n<strong>6.1 \u8bfb\u548c\u5199\u6570\u636e \u5185\u5b58\u9875<\/strong><br \/>\nLinux \u5185\u6838\u5c06\u786c\u76d8I\/O \u8fdb\u884c\u5206\u9875,\u591a\u6570Linux \u7cfb\u7edf\u7684\u9ed8\u8ba4\u9875\u5927\u5c0f\u4e3a4K.\u8bfb\u548c\u5199\u78c1\u76d8\u5757\u8fdb\u51fa\u5230\u5185\u5b58\u90fd\u4e3a4K<br \/>\n\u9875\u5927\u5c0f.\u4f60\u53ef\u4ee5\u4f7f\u7528time \u8fd9\u4e2a\u547d\u4ee4\u52a0v<br \/>\n\u53c2\u6570,\u6765\u68c0\u67e5\u4f60\u7cfb\u7edf\u4e2d\u8bbe\u7f6e\u7684\u9875\u5927\u5c0f:<br \/>\n# \/usr\/bin\/time -v\u00a0date<br \/>\n2009\u5e74 08\u6708 13\u65e5 \u661f\u671f\u56db 23:07:59 CST<br \/>\nCommand being timed: &#8220;date&#8221;<br \/>\nUser time (seconds): 0.00<br \/>\nSystem time (seconds): 0.00<br \/>\nPercent of CPU this job got: 200%<br \/>\nElapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00<br \/>\nAverage shared text size (kbytes): 0<br \/>\nAverage unshared data size (kbytes): 0<br \/>\nAverage stack size (kbytes): 0<br \/>\nAverage total size (kbytes): 0<br \/>\nMaximum resident set size (kbytes): 0<br \/>\nAverage resident set size (kbytes): 0<br \/>\nMajor (requiring I\/O) page faults: 0<br \/>\nMinor (reclaiming a frame) page faults: 264<br \/>\nVoluntary context switches: 1<br \/>\nInvoluntary context switches: 1<br \/>\nSwaps: 0<br \/>\nFile system inputs: 0<br \/>\nFile system outputs: 0<br \/>\nSocket messages sent: 0<br \/>\nSocket messages received: 0<br \/>\nSignals delivered: 0<br \/>\nPage size (bytes): 4096<br \/>\nExit status: 0<\/p>\n<p>Page size (bytes): 4096<\/p>\n<p><strong>6.2 Major and Minor Page Faults(\u4e3b\u8981\u9875\u9519\u8bef\u548c\u6b21\u8981\u9875\u9519\u8bef)<\/strong><br \/>\nLinux,\u7c7b\u4f3c\u591a\u6570\u7684UNIX \u7cfb\u7edf,\u4f7f\u7528\u4e00\u4e2a\u865a\u62df\u5185\u5b58\u5c42\u6765\u6620\u5c04\u786c\u4ef6\u5730\u5740\u7a7a\u95f4.\u5f53\u4e00\u4e2a\u8fdb\u7a0b\u88ab\u542f\u52a8,\u5185\u6838\u5148\u626b\u63cf<br \/>\nCPU caches\u548c\u7269\u7406\u5185\u5b58.\u5982\u679c\u8fdb\u7a0b\u9700\u8981\u7684\u6570\u636e\u5728\u8fd92\u4e2a\u5730\u65b9\u90fd\u6ca1\u627e\u5230,\u5c31\u9700\u8981\u4ece\u78c1\u76d8\u4e0a\u8bfb\u53d6,\u6b64\u65f6\u5185\u6838\u8fc7\u7a0b<br \/>\n\u5c31\u662fmajor page fault(MPF).MPF \u8981\u6c42\u78c1\u76d8\u5b50\u7cfb\u7edf\u68c0\u7d22\u9875\u5e76\u7f13\u5b58\u8fdbRAM.<br \/>\n\u4e00\u65e6\u5185\u5b58\u9875\u88ab\u6620\u5c04\u8fdb\u5185\u5b58\u7684buffer cache(buff)\u4e2d,\u5185\u6838\u5c06\u5c1d\u8bd5\u4ece\u5185\u5b58\u4e2d\u8bfb\u53d6\u6216\u5199\u5165,\u6b64\u65f6\u5185\u6838\u8fc7\u7a0b\u5c31\u662f<br \/>\nminor page fault(MnPF).\u4e0e\u5728\u78c1\u76d8\u4e0a\u64cd\u4f5c\u76f8\u6bd4,MnPF \u901a\u8fc7\u53cd\u590d\u4f7f\u7528\u5185\u5b58\u4e2d\u7684\u5185\u5b58\u9875\u5c31\u5927\u5927\u7684\u7f29\u77ed\u4e86\u5185\u6838<br \/>\n\u65f6\u95f4.<br \/>\n\u4ee5\u4e0b\u7684\u4f8b\u5b50,\u4f7f\u7528time \u547d\u4ee4\u9a8c\u8bc1\u4e86,\u5f53\u8fdb\u7a0b\u542f\u52a8\u540e,MPF \u548c MnPF \u7684\u53d8\u5316\u60c5\u51b5.\u7b2c\u4e00\u6b21\u8fd0\u884c\u8fdb\u7a0b,MPF \u4f1a\u66f4<br \/>\n\u591a:<br \/>\n# \/usr\/bin\/time -v\u00a0evolution<\/p>\n<p>Major (requiring I\/O) page faults: 163<br \/>\nMinor (reclaiming a frame) page faults: 5918<\/p>\n<p>\u7b2c\u4e8c\u6b21\u518d\u8fd0\u884c\u65f6,\u5185\u6838\u5df2\u7ecf\u4e0d\u9700\u8981\u8fdb\u884cMPF\u4e86,\u56e0\u4e3a\u8fdb\u7a0b\u6240\u9700\u7684\u6570\u636e\u5df2\u7ecf\u5728\u5185\u5b58\u4e2d:<br \/>\n# \/usr\/bin\/time -v\u00a0evolution<\/p>\n<p>Major (requiring I\/O) page faults: 0<br \/>\nMinor (reclaiming a frame) page faults: 5581<\/p>\n<p><strong>6.3 The File Buffer Cache(\u6587\u4ef6\u7f13\u5b58\u533a)<\/strong><br \/>\n\u6587\u4ef6\u7f13\u5b58\u533a\u5c31\u662f\u6307,\u5185\u6838\u5c06MPF \u8fc7\u7a0b\u6700\u5c0f\u5316,MnPF \u8fc7\u7a0b\u6700\u5927\u5316.\u968f\u7740\u7cfb\u7edf\u4e0d\u65ad\u7684\u4ea7\u751fI\/O,buffer cache\u4e5f<br \/>\n\u5c06\u4e0d\u65ad\u7684\u589e\u52a0.\u76f4\u5230\u5185\u5b58\u4e0d\u591f,\u4ee5\u53ca\u7cfb\u7edf\u9700\u8981\u91ca\u653e\u8001\u7684\u5185\u5b58\u9875\u53bb\u7ed9\u5176\u4ed6\u7528\u6237\u8fdb\u7a0b\u4f7f\u7528\u65f6,\u7cfb\u7edf\u5c31\u4f1a\u4e22\u5f03\u8fd9\u4e9b\u5185<br \/>\n\u5b58\u9875.\u7ed3\u679c\u662f,\u5f88\u591aSA(\u7cfb\u7edf\u7ba1\u7406\u5458)\u5bf9\u7cfb\u7edf\u4e2d\u8fc7\u5c11\u7684free memory(\u7a7a\u95f2\u5185\u5b58)\u8868\u793a\u62c5\u5fc3,\u5b9e\u9645\u4e0a\u8fd9\u662f\u7cfb\u7edf\u66f4<br \/>\n\u9ad8\u6548\u7684\u5728\u4f7f\u7528caches.<br \/>\n\u4ee5\u4e0b\u4f8b\u5b50,\u662f\u67e5\u770b\/proc\/meminfo \u6587\u4ef6:<br \/>\n# cat \/proc\/meminfo<br \/>\nMemTotal: 2075672 kB<br \/>\nMemFree: 52528 kB<br \/>\nBuffers: 24596 kB<br \/>\nCached: 1766844 kB<\/p>\n<p>\u53ef\u4ee5\u770b\u51fa,\u8fd9\u4e2a\u7cfb\u7edf\u603b\u8ba1\u67092GB (Memtotal)\u7684\u53ef\u7528\u5185\u5b58.\u5f53\u524d\u7684\u7a7a\u95f2\u5185\u5b58\u4e3a52MB (MemFree),\u670924 MB<br \/>\n\u5185\u5b58\u88ab\u5206\u914d\u78c1\u76d8\u5199\u64cd\u4f5c(Buffers),\u8fd8\u67091.7 GB\u9875\u7528\u4e8e\u8bfb\u78c1\u76d8(Cached).<br \/>\n\u5185\u6838\u8fd9\u6837\u662f\u901a\u8fc7MnPF\u673a\u5236,\u800c\u4e0d\u4ee3\u8868\u6240\u6709\u7684\u9875\u90fd\u662f\u6765\u81ea\u78c1\u76d8.\u901a\u8fc7\u4ee5\u4e0a\u90e8\u5206,\u6211\u4eec\u4e0d\u53ef\u80fd\u786e\u8ba4\u7cfb\u7edf\u662f\u5426\u5904<br \/>\n\u4e8e\u74f6\u9888\u4e2d.<br \/>\n<strong>6.4 Type of Memory Pages<\/strong><br \/>\n\u5728Linux \u5185\u6838\u4e2d,memory pages\u67093\u79cd,\u5206\u522b\u662f:<br \/>\n1,Read Pages \u8fd9\u4e9b\u9875\u901a\u8fc7MPF \u4ece\u78c1\u76d8\u4e2d\u8bfb\u5165,\u800c\u4e14\u662f\u53ea\u8bfb.\u8fd9\u4e9b\u9875\u5b58\u5728\u4e8eBuffer Cache\u4e2d\u4ee5\u53ca\u5305\u62ec\u4e0d\u80fd<br \/>\n\u591f\u4fee\u6539\u7684\u9759\u6001\u6587\u4ef6,\u4e8c\u8fdb\u5236\u6587\u4ef6,\u8fd8\u6709\u5e93\u6587\u4ef6.\u5f53\u5185\u6838\u9700\u8981\u5b83\u4eec\u65f6,\u5c06\u8bfb\u53d6\u5230\u5185\u5b58\u4e2d.\u5982\u679c\u5185\u5b58\u4e0d\u8db3,\u5185\u6838\u5c06\u91ca\u653e<br \/>\n\u5b83\u4eec\u56de\u7a7a\u95f2\u5217\u8868\u4e2d.\u7a0b\u5e8f\u518d\u6b21\u8bf7\u6c42\u65f6,\u5219\u901a\u8fc7MPF \u518d\u6b21\u8bfb\u56de\u5185\u5b58.<br \/>\n2,Dirty Pages \u8fd9\u4e9b\u9875\u662f\u5185\u6838\u5728\u5185\u5b58\u4e2d\u5df2\u7ecf\u88ab\u4fee\u6539\u8fc7\u7684\u6570\u636e\u9875.\u5f53\u8fd9\u4e9b\u9875\u9700\u8981\u540c\u6b65\u56de\u78c1\u76d8\u4e0a,\u7531pdflush \u8d1f<br \/>\n\u8d23\u5199\u56de\u78c1\u76d8.\u5982\u679c\u5185\u5b58\u4e0d\u8db3,kswapd (\u4e0epdflush \u4e00\u8d77)\u5c06\u8fd9\u4e9b\u9875\u5199\u56de\u5230\u78c1\u76d8\u4e0a\u5e76\u91ca\u653e\u66f4\u591a\u7684\u5185\u5b58.<br \/>\n3,Anonymous Pages \u8fd9<br \/>\n\u4e9b\u9875\u5c5e\u4e8e\u67d0\u4e2a\u8fdb\u7a0b,\u4f46\u662f\u6ca1\u6709\u4efb\u4f55\u78c1\u76d8\u6587\u4ef6\u548c\u5b83\u4eec\u6709\u5173.\u4ed6\u4eec\u4e0d\u80fd\u548c\u540c\u6b65\u56de\u78c1\u76d8.<br \/>\n\u5982\u679c\u5185\u5b58\u4e0d\u8db3,kswapd \u5c06\u4ed6\u4eec\u5199\u5165swap \u5206\u533a\u4e0a\u5e76\u91ca\u653e\u66f4\u591a\u7684\u5185\u5b58(&#8220;swapping&#8221; pages).<br \/>\n<strong>6.5 Writing Data Pages Back to Disk<\/strong><br \/>\n\u5e94\u7528\u7a0b\u5e8f\u6709\u5f88\u591a\u9009\u62e9\u53ef\u4ee5\u5199\u810f\u9875\u56de\u78c1\u76d8\u4e0a,\u53ef\u901a\u8fc7I\/O \u8c03\u5ea6\u5668\u4f7f\u7528 fsync() \u6216 sync() \u8fd9\u6837\u7684\u7cfb\u7edf\u51fd\u6570\u6765\u5b9e<br \/>\n\u73b0\u7acb\u5373\u5199\u56de.\u5982\u679c\u5e94\u7528\u7a0b\u5e8f\u6ca1\u6709\u8c03\u7528\u4ee5\u4e0a\u51fd\u6570,pdflush \u8fdb\u7a0b\u4f1a\u5b9a\u671f\u4e0e\u78c1\u76d8\u8fdb\u884c\u540c\u6b65.<br \/>\n# ps ef| grep pdflush<br \/>\nroot 186 6 0 18:04 ? 00:00:00 [pdflush]<br \/>\n<strong>7.0 \u76d1\u63a7 I\/O<\/strong><br \/>\n\u5f53\u89c9\u5f97\u7cfb\u7edf\u4e2d\u51fa\u73b0\u4e86I\/O \u74f6\u9888\u65f6,\u53ef\u4ee5\u4f7f\u7528\u6807\u51c6\u7684\u76d1\u63a7\u8f6f\u4ef6\u6765\u67e5\u627e\u539f\u56e0.\u8fd9\u4e9b\u5de5\u5177\u5305\u62ec\u4e86<br \/>\ntop,vmstat,iostat,sar.\u5b83\u4eec\u7684\u8f93\u51fa\u7ed3\u679c\u4e00\u5c0f\u90e8\u5206\u662f\u5f88\u76f8\u4f3c,\u4e0d\u8fc7\u6bcf\u4e2a\u4e5f\u90fd\u63d0\u4f9b\u4e86\u5404\u81ea\u5bf9\u4e8e\u6027\u80fd\u4e0d\u540c\u65b9\u9762\u7684\u89e3<br \/>\n\u91ca.\u4ee5\u4e0b\u7ae0\u8282\u5c31\u5c06\u8ba8\u8bba\u54ea\u4e9b\u60c5\u51b5\u4f1a\u5bfc\u81f4I\/O \u74f6\u9888\u7684\u51fa\u73b0.<br \/>\n<strong>7.1 Calculating IO&#8217;s Per Second(IOPS \u7684\u8ba1\u7b97)<\/strong><br \/>\n\u6bcf\u4e2aI\/O \u8bf7\u6c42\u5230\u78c1\u76d8\u90fd\u9700\u8981\u82e5\u5e72\u65f6\u95f4.\u4e3b\u8981\u662f\u56e0\u4e3a\u78c1\u76d8\u7684\u76d8\u8fb9\u5fc5\u987b\u65cb\u8f6c,\u673a\u5934\u5fc5\u987b\u5bfb\u9053.\u78c1\u76d8\u7684\u65cb\u8f6c\u5e38\u5e38\u88ab\u79f0<br \/>\n\u4e3a&#8221;rotational delay&#8221;(RD),\u673a\u5934\u7684\u79fb\u52a8\u79f0\u4e3a&#8221;disk seek&#8221;(DS).\u4e00\u4e2aI\/O \u8bf7\u6c42\u6240\u9700\u7684\u65f6\u95f4\u8ba1\u7b97\u5c31\u662fDS\u52a0\u4e0a<br \/>\nRD.\u78c1\u76d8\u7684RD \u57fa\u4e8e\u8bbe\u5907\u81ea\u8eabRPM \u5355\u4f4d\u503c(RPM \u662fRevolutions Perminute\u7684\u7f29\u5199,\u662f\u8f6c\/\u6bcf\u5206\u949f,\u4ee3\u8868\u4e86<br \/>\n\u786c\u76d8\u7684\u8f6c\u901f).\u4e00\u4e2aRD \u5c31\u662f\u4e00\u4e2a\u76d8\u7247\u65cb\u8f6c\u7684\u534a\u5706.\u5982\u4f55\u8ba1\u7b97\u4e00\u4e2a10K RPM\u8bbe\u5907\u7684RD \u503c\u5462:<br \/>\n1, 10000 RPM \/ 60 seconds (10000\/60 = 166 RPS)<br \/>\n2, \u8f6c\u6362\u4e3a 166\u5206\u4e4b1 \u7684\u503c(1\/166 = 0.006 seconds\/Rotation)<br \/>\n3, \u5355\u4f4d\u8f6c\u6362\u4e3a\u6beb\u79d2(6 MS\/Rotation)<br \/>\n4, \u65cb\u8f6c\u534a\u5706\u7684\u65f6\u95f4(6\/2 = 3MS) \u4e5f\u5c31\u662f RD<br \/>\n5, \u52a0\u4e0a\u5e73\u57473 MS \u7684\u5bfb\u9053\u65f6\u95f4 (3MS + 3MS = 6MS)<br \/>\n6, \u52a0\u4e0a2MS \u7684\u5ef6\u8fdf(6MS + 2MS = 8MS)<br \/>\n7, 1000 MS \/ 8 MS (1000\/8 = 125 IOPS)<br \/>\n\u6bcf\u6b21\u5e94\u7528\u7a0b\u5e8f\u4ea7\u751f\u4e00\u4e2aI\/O,\u572810K RPM\u78c1\u76d8\u4e0a\u90fd\u8981\u82b1\u8d39\u5e73\u5747 8MS.\u5728\u8fd9\u4e2a\u56fa\u5b9a\u65f6\u95f4\u91cc,\u78c1\u76d8\u5c06\u5c3d\u53ef\u80fd\u4e14<br \/>\n\u6709\u6548\u7387\u5728\u8fdb\u884c\u8bfb\u5199\u78c1\u76d8.IOPS \u53ef\u4ee5\u8ba1\u7b97\u51fa\u5927\u81f4\u7684I\/O \u8bf7\u6c42\u6570,10K RPM \u78c1\u76d8\u6709\u80fd\u529b\u63d0\u4f9b120-150<br \/>\n\u6b21IOPS.\u8bc4\u4f30IOPS \u7684\u6548\u80fd,\u53ef\u7528\u6bcf\u79d2\u8bfb\u5199I\/O \u5b57\u8282\u6570\u9664\u4ee5\u6bcf\u79d2\u8bfb\u5199IOPS \u6570\u5f97\u51fa.<br \/>\n<strong>7.2 Random vs Sequential I\/O(\u968f\u673a\/\u987a\u5e8f I\/O)<\/strong><br \/>\nper I\/O\u4ea7\u751f\u7684KB \u5b57\u8282\u6570\u662f\u4e0e\u7cfb\u7edf\u672c\u8eabworkload\u76f8\u5173\u7684,\u67092\u79cd\u4e0d\u540cworkload\u7684\u7c7b\u578b,\u5b83\u4eec\u662f<br \/>\nsequential\u548crandom.<br \/>\n<strong>7.2.1 Sequential I\/O(\u987a\u5e8fIO)<\/strong><br \/>\niostat \u547d\u4ee4\u63d0\u4f9b\u4fe1\u606f\u5305\u62ecIOPS \u548c\u6bcf\u4e2aI\/O \u6570\u636e\u5904\u7406\u7684\u603b\u989d.\u53ef\u4f7f\u7528iostat x<br \/>\n\u67e5\u770b.\u987a\u5e8f\u7684workload\u662f\u540c\u65f6\u8bfb\u987a\u5e8f\u8bf7\u6c42\u5927\u91cf\u7684\u6570\u636e.\u8fd9\u5305\u62ec\u7684\u5e94\u7528,\u6bd4\u5982\u6709\u5546\u4e1a\u6570\u636e\u5e93(database)\u5728\u6267\u884c\u5927\u91cf\u7684\u67e5\u8be2\u548c\u6d41\u5a92\u4f53\u670d\u52a1.\u5728\u8fd9\u4e2a workload \u4e2d,KB per I\/O \u7684\u6bd4\u7387\u5e94\u8be5\u662f\u5f88\u9ad8\u7684.Sequential workload \u662f\u53ef\u4ee5\u540c\u65f6\u5f88\u5feb\u7684\u79fb\u52a8\u5927\u91cf\u6570\u636e.\u5982\u679c\u6bcf\u4e2aI\/O \u90fd\u8282\u7701\u4e86\u65f6\u95f4,\u90a3\u5c31\u610f\u5473\u4e86\u80fd\u5e26\u6765\u66f4\u591a\u7684\u6570\u636e\u5904\u7406.<br \/>\n# iostat -x 1<\/p>\n<p>avgcpu:<br \/>\n%user %nice %sys %idle<br \/>\n0.00 0.00 57.1 4 42.86<br \/>\nDevice: rrqm\/s wrqm\/s r\/s w\/s rsec\/s wsec\/s rkB\/s wkB\/s avgrqsz<br \/>\navgqusz<br \/>\nawait svctm %util<br \/>\n\/dev\/sda 0.00 12891.43 0.00 105.71 0.00 1 06080.00 0.00 53040.00 1003.46 1099.43 3442.43 26.49<br \/>\n280.00<br \/>\n\/dev\/sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00<br \/>\n\/dev\/sda2 0.00 12857.14 0.00 5.71 0.00 105782.86 0.00 52891.43 18512.00 559.14 780.00 490.00<br \/>\n280.00<br \/>\n\/dev\/sda3 0.00 34.29 0.00 100.00 0.00 297.14 0.00 148.57 2.97 540.29 594.57 24.00 240.00<br \/>\navgcpu:<br \/>\n%user %nice %sys %idle<br \/>\n0.00 0.00 23.53 76.47<br \/>\nDevice: rrqm\/s wrqm\/s r\/s w\/s rsec\/s wsec\/s rkB\/s wkB\/s avgrqsz<br \/>\navgqusz<br \/>\nawait svctm %util<br \/>\n\/dev\/sda 0.00 17320.59 0.00 102.94 0.00 142305.88 0.00 71152.94 1382.40 6975.29 952.29 28.57<br \/>\n294.12<br \/>\n\/dev\/sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00<br \/>\n\/dev\/sda2 0.00 16844.12 0.00 102.94 0.00 138352.94 0.00 69176.47 1344.00 6809.71 952.29 28.57<br \/>\n294.12<br \/>\n\/dev\/sda3 0.00 476.47 0.00 0.00 0.00 952.94 0.00 1976.47 0.00 165.59 0.00 0.00 276.47<br \/>\n\u8bc4\u4f30IOPS \u7684\u6548\u80fd,\u53ef\u7528\u6bcf\u79d2\u8bfb\u5199I\/O \u5b57\u8282\u6570\u9664\u4ee5\u6bcf\u79d2\u8bfb\u5199IOPS \u6570\u5f97\u51fa,\u6bd4\u5982<br \/>\nrkB\/s \u9664\u4ee5 r\/s<br \/>\nwkB\/s \u9664\u4ee5 w\/s<br \/>\n53040\/105 = 505KB per I\/O<br \/>\n71152\/102 = 697KB per I\/O<br \/>\n\u5728\u4e0a\u9762\u4f8b\u5b50\u53ef\u770b\u51fa,\u6bcf\u6b21\u5faa\u73af\u4e0b,\/dev\/sda \u7684per I\/O \u90fd\u5728\u589e\u52a0.<br \/>\n<strong>7.2.2 Random I\/O(\u968f\u673aIO)<\/strong><br \/>\nRandom\u7684worklaod\u73af\u5883\u4e0b,\u4e0d\u4f9d\u8d56\u4e8e\u6570\u636e\u5927\u5c0f\u7684\u591a\u5c11,\u66f4\u591a\u4f9d\u8d56\u7684\u662f\u78c1\u76d8\u7684IOPS \u6570.Web\u548cMail \u670d\u52a1<br \/>\n\u5c31\u662f\u5178\u578b\u7684Random workload.I\/O \u8bf7\u6c42\u5185\u5bb9\u90fd\u5f88\u5c0f.Random workload\u662f\u540c\u65f6\u6bcf\u79d2\u4f1a\u6709\u66f4\u591a\u7684\u8bf7\u6c42\u6570\u4ea7<br \/>\n\u751f.\u6240\u4ee5,\u78c1\u76d8\u7684IOPS \u6570\u662f\u5173\u952e.<br \/>\n# iostat x<br \/>\n1<br \/>\navgcpu:<br \/>\n%user %nice %sys %idle<br \/>\n2.04 0.00 97.96 0.00<br \/>\nDevice: rrqm\/s wrqm\/s r\/s w\/s rsec\/s wsec\/s rkB\/s wkB\/s avgrqsz<br \/>\navgqusz<br \/>\nawait svctm %util<br \/>\n\/dev\/sda 0.00 633.67 3.06 102.31 24.49 5281.63 12.24 2640.82 288.89 73.67 113.89 27.22 50.00<br \/>\n\/dev\/sda1 0.00 5.10 0.00 2.04 0.00 57.14 0.00 28.57 28.00 1.12 55.00 55.00 11.22<br \/>\n\/dev\/sda2 0.00 628.57 3.06 100.27 24.49 5224.49 12.24 2612.24 321.50 72.55 121.25 30.63 50.00<br \/>\n\/dev\/sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00<br \/>\navgcpu:<br \/>\n%user %nice %sys %idle<br \/>\n2.15 0.00 97.85 0.00<br \/>\nDevice: rrqm\/s wrqm\/s r\/s w\/s rsec\/s wsec\/s rkB\/s wkB\/s avgrqsz<br \/>\navgqusz<br \/>\nawait svctm %util<br \/>\n\/dev\/sda 0.00 41.94 6.45 130.98 51.61 352.69 25.81 3176.34 19.79 2.90 286.32 7.37 15.05<br \/>\n\/dev\/sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00<br \/>\n\/dev\/sda2 0.00 41.94 4.30 130.98 34.41 352.69 17.20 3176.34 21.18 2.90 320.00 8.24 15.05<br \/>\n\/dev\/sda3 0.00 0.00 2.15 0.00 17.20 0.00 8.60 0.00 8.00 0.00 0.00 0.00 0.00<br \/>\n\u8ba1\u7b97\u65b9\u5f0f\u548c\u4e4b\u524d\u7684\u516c\u5f0f\u4e00\u81f4:<br \/>\n2640\/102 = 23KB per I\/O<br \/>\n3176\/130 = 24KB per I\/O<br \/>\n(\u5bf9\u4e8e\u987a\u5e8fI\/O\u6765\u8bf4,\u4e3b\u8981\u662f\u8003\u8651\u8bfb\u53d6\u5927\u91cf\u6570\u636e\u7684\u80fd\u529b\u5373KB per request.\u5bf9\u4e8e\u968f\u673aI\/O\u7cfb\u7edf,\u66f4\u9700\u8981\u8003\u8651\u7684<br \/>\n\u662fIOPS\u503c)<br \/>\n<strong>7.3 When Virtual Memory Kills I\/O<\/strong><br \/>\n\u5982\u679c\u7cfb\u7edf\u6ca1\u6709\u8db3\u591f\u7684RAM \u54cd\u5e94\u6240\u6709\u7684\u8bf7\u6c42,\u5c31\u4f1a\u4f7f\u7528\u5230SWAP device.\u5c31\u50cf\u4f7f\u7528\u6587\u4ef6\u7cfb\u7edfI\/O,\u4f7f\u7528<br \/>\nSWAP device \u4ee3\u4ef7\u4e5f\u5f88\u5927.\u5982\u679c\u7cfb\u7edf\u5df2\u7ecf\u6ca1\u6709\u7269\u7406\u5185\u5b58\u53ef\u7528,\u90a3\u5c31\u90fd\u5728SWAP disk\u4e0a\u521b\u5efa\u5f88\u591a\u5f88\u591a\u7684\u5185\u5b58<br \/>\n\u5206\u9875,\u5982\u679c\u540c\u4e00\u6587\u4ef6\u7cfb\u7edf\u7684\u6570\u636e\u90fd\u5728\u5c1d\u8bd5\u8bbf\u95eeSWAP device,\u90a3\u7cfb\u7edf\u5c06\u9047\u5230I\/O \u74f6\u9888.\u6700\u7ec8\u5bfc\u81f4\u7cfb\u7edf\u6027\u80fd\u7684<br \/>\n\u5168\u9762\u5d29\u6e83.\u5982\u679c\u5185\u5b58\u9875\u4e0d\u80fd\u591f\u53ca\u65f6\u8bfb\u6216\u5199\u78c1\u76d8,\u5b83\u4eec\u5c31\u4e00\u76f4\u4fdd\u7559\u5728RAM\u4e2d.\u5982\u679c\u4fdd\u7559\u65f6\u95f4\u592a\u4e45,\u5185\u6838\u53c8\u5fc5\u987b<br \/>\n\u91ca\u653e\u5185\u5b58\u7a7a\u95f4.\u95ee\u9898\u6765\u4e86,I\/O \u64cd\u4f5c\u90fd\u88ab\u963b\u585e\u4f4f\u4e86,\u4ec0\u4e48\u90fd\u6ca1\u505a\u5c31\u88ab\u7ed3\u675f\u4e86,\u4e0d\u53ef\u907f\u514d\u5730\u5c31\u51fa\u73b0kernel panic<br \/>\n\u548csystem crash.<br \/>\n\u4e0b\u9762\u7684vmstat \u793a\u8303\u4e86\u4e00\u4e2a\u5185\u5b58\u4e0d\u8db3\u60c5\u51b5\u4e0b\u7684\u7cfb\u7edf:<br \/>\nprocs memoryswapiosystemcpur<br \/>\nb swpd free buff cache si so bi bo in cs us sy id wa<br \/>\n17 0 1250 3248 45820 1488472 30 132 992 0 2437 7657 23 50 0 23<br \/>\n11 0 1376 3256 45820 1488888 57 245 416 0 2391 7173 10 90 0 0<br \/>\n12 0 1582 1688 45828 1490228 63 131 1348 76 2432 7315 10 90 0 10<br \/>\n12 2 3981 1848 45468 1489824 185 56 2300 68 2478 9149 15 12 0 73<br \/>\n14 2 10385 2400 44484 1489732 0 87 1112 20 2515 11620 0 12 0 88<br \/>\n14 2 12671 2280 43644 1488816 76 51 1812 204 2546 11407 20 45 0 35<br \/>\n\u8fd9\u4e2a\u7ed3\u679c\u53ef\u770b\u51fa,\u5927\u91cf\u7684\u8bfb\u8bf7\u6c42\u56de\u5185\u5b58(bi),\u5bfc\u81f4\u4e86\u7a7a\u95f2\u5185\u5b58\u5728\u4e0d\u65ad\u7684\u51cf\u5c11(free).\u8fd9\u5c31\u4f7f\u5f97\u7cfb\u7edf\u5199\u5165swap<br \/>\ndevice\u7684\u5757\u6570\u76ee(so)\u548cswap \u7a7a\u95f4(swpd)\u5728\u4e0d\u65ad\u589e\u52a0.\u540c\u65f6\u770b\u5230CPU WIO time(wa)\u767e\u5206\u6bd4\u5f88\u5927.\u8fd9\u8868\u660eI\/<br \/>\nO \u8bf7\u6c42\u5df2\u7ecf\u5bfc\u81f4CPU \u5f00\u59cb\u6548\u7387\u4f4e\u4e0b.<br \/>\n\u8981\u770bswaping \u5bf9\u78c1\u76d8\u7684\u5f71\u54cd,\u53ef\u4f7f\u7528iostat \u68c0\u67e5swap \u5206\u533a<br \/>\n# iostat x<br \/>\n1<br \/>\navgcpu:<br \/>\n%user %nice %sys %idle<br \/>\n0.00 0.00 100.00 0.00<br \/>\nDevice: rrqm\/s wrqm\/s r\/s w\/s rsec\/s wsec\/s rkB\/s wkB\/s avgrqsz<br \/>\navgqusz<br \/>\nawait svctm %util<br \/>\n\/dev\/sda 0.00 1766.67 4866.67 1700.00 38933.33 31200.00 19466.67 15600.00 10.68 6526.67<br \/>\n100.56 5.08 3333.33<br \/>\n\/dev\/sda1 0.00 933.33 0.00 0.00 0.00 7733.33 0.00 3866.67 0.00 20.00 2145.07 7.37 200.00<br \/>\n\/dev\/sda2 0.00 0.00 4833.33 0.00 38666.67 533.33 19333.33 266.67 8.11 373.33 8.07 6.90 87.00<br \/>\n\/dev\/sda3 0.00 833.33 33.33 1700.00 266.67 22933.33 133.33 11466.67 13.38 6133.33 358.46 11.35<br \/>\n1966.67<br \/>\n\u5728\u8fd9\u4e2a\u4f8b\u5b50\u4e2d,swap device(\/dev\/sda1) \u548c file system device(\/dev\/sda3)\u5728\u4e92\u76f8\u4f5c\u7528\u4e8eI\/O. \u5176\u4e2d\u4efb\u4e00\u4e2a<br \/>\n\u4f1a\u6709\u5f88\u9ad8\u5199\u8bf7\u6c42(w\/s),\u4e5f\u4f1a\u6709\u5f88\u9ad8wait time(await),\u6216\u8005\u8f83\u4f4e\u7684\u670d\u52a1\u65f6\u95f4\u6bd4\u7387(svctm).\u8fd9\u8868\u660e2\u4e2a\u5206\u533a\u4e4b<br \/>\n\u95f4\u4e92\u6709\u8054\u7cfb,\u4e92\u6709\u5f71\u54cd.<br \/>\n<strong>7.4 \u7ed3\u8bba<\/strong><br \/>\nI\/O \u6027\u80fd\u76d1\u63a7\u5305\u542b\u4e86\u4ee5\u4e0b\u51e0\u70b9:<br \/>\n1,\u5f53CPU \u6709\u7b49\u5f85I\/O \u60c5\u51b5\u65f6,\u90a3\u8bf4\u660e\u78c1\u76d8\u5904\u4e8e\u8d85\u8d1f\u8377\u72b6\u6001.<br \/>\n2,\u8ba1\u7b97\u4f60\u7684\u78c1\u76d8\u80fd\u591f\u627f\u53d7\u591a\u5927\u7684IOPS \u6570.<br \/>\n3,\u786e\u5b9a\u4f60\u7684\u5e94\u7528\u662f\u5c5e\u4e8e\u968f\u673a\u6216\u8005\u987a\u5e8f\u8bfb\u53d6\u78c1\u76d8.<br \/>\n4,\u76d1\u63a7\u78c1\u76d8\u6162\u9700\u8981\u6bd4\u8f83wait time(await) \u548c service time(svctm).<br \/>\n5,\u76d1\u63a7swap \u548c\u7cfb\u7edf\u5206\u533a,\u8981\u786e\u4fddvirtual memory\u4e0d\u662f\u6587\u4ef6\u7cfb\u7edfI\/O \u7684\u74f6\u9888.<br \/>\n<strong>8.0 Network \u76d1\u63a7\u4ecb\u7ecd<\/strong><br \/>\n\u5728\u6240\u6709\u7684\u5b50\u7cfb\u7edf\u76d1\u63a7\u4e2d,\u7f51\u7edc\u662f\u6700\u56f0\u96be\u7684.\u8fd9\u4e3b\u8981\u662f\u7531\u4e8e\u7f51\u7edc\u6982\u5ff5\u5f88\u62bd\u8c61.\u5f53\u76d1\u63a7\u7cfb\u7edf\u4e0a\u7684\u7f51\u7edc\u6027\u80fd,\u8fd9\u6709\u592a<br \/>\n\u591a\u56e0\u7d20.\u8fd9\u4e9b\u56e0\u7d20\u5305\u62ec\u4e86\u5ef6\u8fdf,\u51b2\u7a81,\u62e5\u6324\u548c\u6570\u636e\u5305\u4e22\u5931.<br \/>\n\u8fd9\u4e2a\u7ae0\u8282\u8ba8\u8bba\u600e\u4e48\u6837\u68c0\u67e5Ethernet(\u7f51\u5361),IP,TCP\u7684\u6027\u80fd.<br \/>\n<strong>8.1 Ethernet Configuration Settings(\u7f51\u5361\u914d\u7f6e\u7684\u8bbe\u7f6e)<\/strong><br \/>\n\u9664\u975e\u5f88\u660e\u786e\u7684\u6307\u5b9a,\u51e0\u4e4e\u6240\u6709\u7684\u7f51\u5361\u90fd\u662f\u81ea\u9002\u5e94\u7f51\u7edc\u901f\u5ea6.\u5f53\u4e00\u4e2a\u7f51\u7edc\u4e2d\u6709\u5f88\u591a\u4e0d\u540c\u7684\u7f51\u7edc\u8bbe\u5907\u65f6,\u4f1a\u5404\u81ea\u91c7<br \/>\n\u7528\u4e0d\u540c\u7684\u901f\u7387\u548c\u5de5\u4f5c\u6a21\u5f0f.<br \/>\n\u591a\u6570\u5546\u4e1a\u7f51\u7edc\u90fd\u8fd0\u884c\u5728100 \u6216 1000BaseTX.\u4f7f\u7528ethtool \u53ef\u4ee5\u786e\u5b9a\u8fd9\u4e2a\u7cfb\u7edf\u662f\u5904\u4e8e\u90a3\u79cd\u901f\u7387.<br \/>\n\u4ee5\u4e0b\u7684\u4f8b\u5b50\u4e2d,\u662f\u4e00\u4e2a\u6709100BaseTX \u7f51\u5361\u7684\u7cfb\u7edf,\u81ea\u52a8\u534f\u5546\u9002\u5e94\u81f310BaseTX \u7684\u60c5\u51b5.<br \/>\n# ethtool eth0<br \/>\nSettings for eth0:<br \/>\nSupported ports: [ TP MII ]<br \/>\nSupported link modes: 10baseT\/Half 10baseT\/Full<br \/>\n100baseT\/Half 100baseT\/Full<br \/>\nSupports autonegotiation:<br \/>\nYes<br \/>\nAdvertised link modes: 10baseT\/Half 10baseT\/Full<br \/>\n100baseT\/Half 100baseT\/Full<br \/>\nAdvertised autonegotiation:<br \/>\nYes<br \/>\nSpeed: 10Mb\/s<br \/>\nDuplex: Half<br \/>\nPort: MII<br \/>\nPHYAD: 32<br \/>\nTransceiver: internal<br \/>\nAutonegotiation:<br \/>\non<br \/>\nSupports Wakeon:<br \/>\npumbg<br \/>\nWakeon:<br \/>\nd<br \/>\nCurrent message level: 0x00000007 (7)<br \/>\nLink detected: yes<br \/>\n\u4ee5\u4e0b\u793a\u8303\u4f8b\u5b50\u4e2d,\u5982\u4f55\u5f3a\u5236\u7f51\u5361\u901f\u7387\u8c03\u6574\u81f3100BaseTX:<br \/>\n# ethtool s<br \/>\neth0 speed 100 duplex full autoneg off<br \/>\n# ethtool eth0<br \/>\nSettings for eth0:<br \/>\nSupported ports: [ TP MII ]<br \/>\nSupported link modes: 10baseT\/Half 10baseT\/Full<br \/>\n100baseT\/Half 100baseT\/Full<br \/>\nSupports autonegotiation:<br \/>\nYes<br \/>\nAdvertised link modes: 10baseT\/Half 10baseT\/Full<br \/>\n100baseT\/Half 100baseT\/Full<br \/>\nAdvertised autonegotiation:<br \/>\nNo<br \/>\nSpeed: 100Mb\/s<br \/>\nDuplex: Full<br \/>\nPort: MII<br \/>\nPHYAD: 32<br \/>\nTransceiver: internal<br \/>\nAutonegotiation:<br \/>\noff<br \/>\nSupports Wakeon:<br \/>\npumbg<br \/>\nWakeon:<br \/>\nd<br \/>\nCurrent message level: 0x00000007 (7)<br \/>\nLink detected: yes<br \/>\n<strong>8.2 Monitoring Network Throughput(\u7f51\u7edc\u541e\u5410\u91cf\u76d1\u63a7)<\/strong><br \/>\n\u63a5\u53e3\u4e4b\u95f4\u7684\u540c\u6b65\u5e76\u4e0d\u610f\u5473\u7740\u4ec5\u4ec5\u6709\u5e26\u5bbd\u95ee\u9898.\u91cd\u8981\u7684\u662f,\u5982\u4f55\u7ba1\u7406\u5e76\u4f18\u5316,\u8fd92\u53f0\u4e3b\u673a\u4e4b\u95f4\u7684\u4ea4\u6362\u673a,\u7f51\u7ebf,\u6216<br \/>\n\u8005\u8def\u7531\u5668.\u6d4b\u8bd5\u7f51\u7edc\u541e\u5410\u91cf\u6700\u597d\u7684\u65b9\u5f0f\u5c31\u662f,\u5728\u8fd92\u4e2a\u7cfb\u7edf\u4e4b\u95f4\u4e92\u76f8\u53d1\u9001\u6570\u636e\u4f20\u8f93\u5e76\u7edf\u8ba1\u4e0b\u6765,\u6bd4\u5982\u5ef6\u8fdf\u548c\u901f<br \/>\n\u5ea6.<br \/>\n<strong>8.2.0 \u4f7f\u7528iptraf \u67e5\u770b\u672c\u5730\u541e\u5410\u91cf<\/strong><br \/>\niptraf \u5de5\u5177(<a href=\"http:\/\/iptraf.seul.org\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/iptraf.seul.org<\/a>),\u63d0\u4f9b\u4e86\u6bcf\u4e2a\u7f51\u5361\u541e\u5410\u91cf\u7684\u4eea\u8868\u76d8.<br \/>\n#iptraf d<br \/>\neth0<br \/>\n\u4ece\u8f93\u51fa\u4e2d\u53ef\u770b\u5230,\u8be5\u7cfb\u7edf\u53d1\u9001\u4f20\u8f93\u7387(Outgoing rates)\u4e3a 61 mbps,\u8fd9\u5bf9\u4e8e100 mbps\u7f51\u7edc\u6765\u8bf4,\u6709\u70b9\u6162.<br \/>\n<strong>8.2.1 \u4f7f\u7528netperf \u67e5\u770b\u7ec8\u7aef\u541e\u5410\u91cf<\/strong><br \/>\n\u4e0d\u540c\u4e8eiptraf \u88ab\u52a8\u7684\u5728\u672c\u5730\u76d1\u63a7\u6d41\u91cf,netperf \u5de5\u5177\u53ef\u4ee5\u8ba9\u7ba1\u7406\u5458,\u6267\u884c\u66f4\u52a0\u53ef\u63a7\u7684\u541e\u5410\u91cf\u76d1\u63a7.\u5bf9\u4e8e\u786e\u5b9a\u4ece<br \/>\n\u5ba2\u6237\u7aef\u5de5\u4f5c\u7ad9\u5230\u4e00\u4e2a\u9ad8\u8d1f\u8377\u7684\u670d\u52a1\u5668\u7aef(\u6bd4\u5982file \u6216web server),\u5b83\u4eec\u4e4b\u95f4\u6709\u591a\u5c11\u541e\u5410\u91cf\u662f\u975e\u5e38\u6709\u5e2e\u52a9<br \/>\n\u7684.netperf \u5de5\u5177\u8fd0\u884c\u7684\u662fclient\/server \u6a21\u5f0f.<br \/>\n\u5b8c\u6210\u4e00\u4e2a\u57fa\u672c\u53ef\u63a7\u541e\u5410\u91cf\u6d4b\u8bd5,\u9996\u5148netperf server \u5fc5\u987b\u8fd0\u884c\u5728\u670d\u52a1\u5668\u7aef\u7cfb\u7edf\u4e0a:<br \/>\nserver# netserver<br \/>\nStarting netserver at port 12865<br \/>\nStarting netserver at hostname 0.0.0.0 port 12865 and family AF_UNSPEC<br \/>\nnetperf \u5de5\u5177\u53ef\u80fd\u9700\u8981\u8fdb\u884c\u591a\u91cd\u91c7\u6837.\u591a\u6570\u57fa\u672c\u6d4b\u8bd5\u5c31\u662f\u4e00\u6b21\u6807\u51c6\u7684\u541e\u5410\u91cf\u6d4b\u8bd5.\u4ee5\u4e0b\u4f8b\u5b50\u5c31\u662f,\u4e00\u4e2a<br \/>\nLAN(\u5c40\u57df\u7f51) \u73af\u5883\u4e0b,\u4ececlient \u4e0a\u6267\u884c\u4e00\u6b2130\u79d2\u7684TCP \u541e\u5410\u91cf\u91c7\u6837:<br \/>\n\u4ece\u8f93\u51fa\u53ef\u770b\u51fa,\u8be5\u7f51\u7edc\u7684\u541e\u5410\u91cf\u5927\u81f4\u572889 mbps \u5de6\u53f3.server(192.168.1.215) \u4e0eclient \u5728\u540c\u4e00LAN \u4e2d.\u8fd9<br \/>\n\u5bf9\u4e8e100 mbps\u7f51\u7edc\u6765\u8bf4,\u6027\u80fd\u975e\u5e38\u597d.<br \/>\nclient# netperf H<br \/>\n192.168.1.215 l<br \/>\n30<br \/>\nTCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to<br \/>\n192.168.1.230 (192.168.1.230) port 0 AF_INET<br \/>\nRecv Send Send<br \/>\nSocket Socket Message Elapsed<br \/>\nSize Size Size Time Throughput<br \/>\nbytes bytes bytes secs. 10^6bits\/sec<br \/>\n87380 16384 16384 30.02 89.46<br \/>\n\u4eceLAN \u5207\u6362\u5230\u5177\u590754G(WirelessG<br \/>\n\u662f\u672a\u676554Mbps\u65e0\u7ebf\u7f51\u8054\u7f51\u6807\u51c6)\u65e0\u7ebf\u7f51\u7edc\u8def\u7531\u5668\u4e2d,\u5e76\u572810 \u82f1\u5c3a<br \/>\n\u8303\u56f4\u5185\u6d4b\u8bd5\u65f6.\u8be5\u541e\u5410\u91cf\u5c31\u6025\u5267\u7684\u4e0b\u964d.\u5728\u6700\u5927\u5c31\u4e3a54 MBits\u7684\u53ef\u80fd\u4e0b,\u7b14\u8bb0\u672c\u7535\u8111\u53ef\u5b9e\u73b0\u603b\u541e\u5410\u91cf\u5c31\u4e3a14<br \/>\nMBits.<br \/>\nclient# netperf H<br \/>\n192.168.1.215 l<br \/>\n30<br \/>\nTCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to<br \/>\n192.168.1.215 (192.168.1.215) port 0 AF_INET<br \/>\nRecv Send Send<br \/>\nSocket Socket Message Elapsed<br \/>\nSize Size Size Time Throughput<br \/>\nbytes bytes bytes secs. 10^6bits\/sec<br \/>\n87380 16384 16384 30.10 14.09<br \/>\n\u5982\u679c\u572850\u82f1\u5c3a\u8303\u56f4\u5185\u5462,\u5219\u8fdb\u4e00\u6b65\u4f1a\u4e0b\u964d\u81f35 MBits.<br \/>\n# netperf H<br \/>\n192.168.1.215 l<br \/>\n30<br \/>\nTCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to<br \/>\n192.168.1.215 (192.168.1.215) port 0 AF_INET<br \/>\nRecv Send Send<br \/>\nSocket Socket Message Elapsed<br \/>\nSize Size Size Time Throughput<br \/>\nbytes bytes bytes secs. 10^6bits\/sec<br \/>\n87380 16384 16384 30.64 5.05<br \/>\n\u5982\u679c\u4eceLAN \u5207\u6362\u5230\u4e92\u8054\u7f51\u4e0a,\u5219\u541e\u5410\u91cf\u8dcc\u81f31 Mbits\u4e0b\u4e86.<br \/>\n# netperf H<br \/>\nlitemail.org p<br \/>\n1500 l<br \/>\n30<br \/>\nTCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to<br \/>\nlitemail.org (72.249.104.148) port 0 AF_INET<br \/>\nRecv Send Send<br \/>\nSocket Socket Message Elapsed<br \/>\nSize Size Size Time Throughput<br \/>\nbytes bytes bytes secs. 10^6bits\/sec<br \/>\n87380 16384 16384 31.58 0.93<br \/>\n\u6700\u540e\u662f\u4e00\u4e2aVPN \u8fde\u63a5\u73af\u5883,\u8fd9\u662f\u6240\u6709\u7f51\u7edc\u73af\u5883\u4e2d\u6700\u69fd\u7cd5\u7684\u541e\u5410\u91cf\u4e86.<br \/>\n# netperf H<br \/>\n10.0.1.129 l<br \/>\n30<br \/>\nTCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to<br \/>\n10.0.1.129 (10.0.1.129) port 0 AF_INET<br \/>\nRecv Send Send<br \/>\nSocket Socket Message Elapsed<br \/>\nSize Size Size Time Throughput<br \/>\nbytes bytes bytes secs. 10^6bits\/sec<br \/>\n87380 16384 16384 31.99 0.51<br \/>\n\u53e6\u5916,netperf \u53ef\u4ee5\u5e2e\u52a9\u6d4b\u8bd5\u6bcf\u79d2\u603b\u8ba1\u6709\u591a\u5c11\u7684TCP \u8bf7\u6c42\u548c\u54cd\u5e94\u6570.\u901a\u8fc7\u5efa\u7acb\u5355\u4e00TCP \u8fde\u63a5\u5e76\u987a\u5e8f\u5730\u53d1\u9001<br \/>\n\u591a\u4e2a\u8bf7\u6c42\/\u54cd\u5e94(ack \u5305\u6765\u56de\u57281\u4e2abyte \u5927\u5c0f).\u6709\u70b9\u7c7b\u4f3c\u4e8eRDBMS \u7a0b\u5e8f\u5728\u6267\u884c\u591a\u4e2a\u4ea4\u6613\u6216\u8005\u90ae\u4ef6\u670d\u52a1\u5668<br \/>\n\u5728\u540c\u4e00\u4e2a\u8fde\u63a5\u7ba1\u9053\u4e2d\u53d1\u9001\u90ae\u4ef6.<br \/>\n\u4ee5\u4e0b\u4f8b\u5b50\u572830 \u79d2\u7684\u6301\u7eed\u65f6\u95f4\u5185,\u6a21\u62dfTCP \u8bf7\u6c42\/\u54cd\u5e94:<br \/>\nclient# netperf t<br \/>\nTCP_RR H<br \/>\n192.168.1.230 l<br \/>\n30<br \/>\nTCP REQUEST\/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET<br \/>\nto 192.168.1.230 (192.168.1.230) port 0 AF_INET<br \/>\nLocal \/Remote<br \/>\nSocket Size Request Resp. Elapsed Trans.<br \/>\nSend Recv Size Size Time Rate<br \/>\nbytes Bytes bytes bytes secs. per sec<br \/>\n16384 87380 1 1 30.00 4453.80<br \/>\n16384 87380<br \/>\n\u5728\u8f93\u51fa\u4e2d\u770b\u51fa,\u8fd9\u4e2a\u7f51\u7edc\u652f\u6301\u7684\u5904\u7406\u901f\u7387\u4e3a\u6bcf\u79d24453 psh\/ack(\u5305\u5927\u5c0f\u4e3a1 byte).\u8fd9\u5176\u5b9e\u662f\u7406\u60f3\u72b6\u6001\u4e0b,\u56e0\u4e3a<br \/>\n\u5b9e\u9645\u60c5\u51b5\u65f6,\u591a\u6570requests(\u8bf7\u6c42),\u7279\u522b\u662fresponses(\u54cd\u5e94),\u90fd\u5927\u4e8e1 byte.<br \/>\n\u73b0\u5b9e\u60c5\u51b5\u4e0b,netperf \u4e00\u822crequests \u9ed8\u8ba4\u4f7f\u75282K\u5927\u5c0f,responses \u9ed8\u8ba4\u4f7f\u752832K\u5927\u5c0f:<br \/>\nclient# netperf t<br \/>\nTCP_RR H<br \/>\n192.168.1.230 l<br \/>\n30 r<br \/>\n2048,32768<br \/>\nTCP REQUEST\/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to<br \/>\n192.168.1.230 (192.168.1.230) port 0 AF_INET<br \/>\nLocal \/Remote<br \/>\nSocket Size Request Resp. Elapsed Trans.<br \/>\nSend Recv Size Size Time Rate<br \/>\nbytes Bytes bytes bytes secs. per sec<br \/>\n16384 87380 2048 32768 30.00 222.37<br \/>\n16384 87380<br \/>\n\u8fd9\u4e2a\u5904\u7406\u901f\u7387\u51cf\u5c11\u5230\u4e86\u6bcf\u79d2222.<br \/>\n<strong>8.2.2 \u4f7f\u7528iperf \u8bc4\u4f30\u7f51\u7edc\u6548\u7387<\/strong><br \/>\n\u57fa\u4e8e\u90fd\u662f\u9700\u8981\u57282\u7aef\u68c0\u67e5\u8fde\u63a5\u60c5\u51b5\u4e0b,iperf \u548cnetperf \u5f88\u76f8\u4f3c.\u4e0d\u540c\u7684\u662f,iperf \u66f4\u6df1\u5165\u7684\u901a\u8fc7windows size<br \/>\n\u548cQOS \u8bbe\u5907\u6765\u68c0\u67e5TCP\/UDP \u7684\u6548\u7387\u60c5\u51b5.\u8fd9\u4e2a\u5de5\u5177,\u662f\u7ed9\u9700\u8981\u4f18\u5316TCP\/IP stacks\u4ee5\u53ca\u6d4b\u8bd5\u8fd9\u4e9bstacks<br \/>\n\u6548\u7387\u7684\u7ba1\u7406\u5458\u4eec\u91cf\u8eab\u5b9a\u505a\u7684.<br \/>\niperf \u4f5c\u4e3a\u4e00\u4e2a\u4e8c\u8fdb\u5236\u7a0b\u5e8f,\u53ef\u8fd0\u884c\u5728server \u6216\u8005client \u4efb\u4e00\u6a21\u5f0f\u4e0b.\u9ed8\u8ba4\u4f7f\u752850001 \u7aef\u53e3.<br \/>\n\u9996\u5148\u542f\u52a8server \u7aef(192.168.1.215):<br \/>\nserver# iperf s<br \/>\nD<br \/>\nRunning Iperf Server as a daemon<br \/>\nThe Iperf daemon process ID : 3655<br \/>\nServer<br \/>\nlistening on TCP port 5001<br \/>\nTCP window size: 85.3 KByte (default)<br \/>\n\u5728<br \/>\n\u4ee5\u4e0b\u4f8b\u5b50\u91cc,\u4e00\u4e2a\u65e0\u7ebf\u7f51\u7edc\u73af\u5883\u4e0b,\u5176\u4e2dclient \u7aef\u91cd\u590d\u8fd0\u884ciperf,\u7528\u4e8e\u6d4b\u8bd5\u7f51\u7edc\u7684\u541e\u5410\u91cf\u60c5\u51b5.\u8fd9\u4e2a\u73af\u5883\u5047<br \/>\n\u5b9a\u5904\u4e8e\u88ab\u5145\u5206\u5229\u7528\u72b6\u6001,\u5f88\u591a\u4e3b\u673a\u90fd\u5728\u4e0b\u8f7dISO images\u6587\u4ef6.<br \/>\n\u9996\u5148client \u7aef\u8fde\u63a5\u5230server \u7aef(192.168.1.215),\u5e76\u5728\u603b\u8ba160\u79d2\u65f6\u95f4\u5185,\u6bcf5\u79d2\u8fdb\u884c\u4e00\u6b21\u5e26\u5bbd\u6d4b\u8bd5\u7684\u91c7\u6837.<br \/>\nclient# iperf c<br \/>\n192.168.1.215 t<br \/>\n60 i<br \/>\n5<br \/>\nClient<br \/>\nconnecting to 192.168.1.215, TCP port 5001<br \/>\nTCP window size: 25.6 KByte (default)<br \/>\n[<br \/>\n3] local 192.168.224.150 port 51978 connected with<br \/>\n192.168.1.215 port 5001<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 0.05.0<br \/>\nsec 6.22 MBytes 10.4 Mbits\/sec<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 5.010.0<br \/>\nsec 6.05 MBytes 10.1 Mbits\/sec<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 10.015.0<br \/>\nsec 5.55 MBytes 9.32 Mbits\/sec<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 15.020.0<br \/>\nsec 5.19 MBytes 8.70 Mbits\/sec<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 20.025.0<br \/>\nsec 4.95 MBytes 8.30 Mbits\/sec<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 25.030.0<br \/>\nsec 5.21 MBytes 8.74 Mbits\/sec<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 30.035.0<br \/>\nsec 2.55 MBytes 4.29 Mbits\/sec<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 35.040.0<br \/>\nsec 5.87 MBytes 9.84 Mbits\/sec<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 40.045.0<br \/>\nsec 5.69 MBytes 9.54 Mbits\/sec<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 45.050.0<br \/>\nsec 5.64 MBytes 9.46 Mbits\/sec<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 50.055.0<br \/>\nsec 4.55 MBytes 7.64 Mbits\/sec<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 55.060.0<br \/>\nsec 4.47 MBytes 7.50 Mbits\/sec<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 0.060.0<br \/>\nsec 61.9 MBytes 8.66 Mbits\/sec<br \/>\n\u8fd9\u53f0\u4e3b\u673a\u7684\u5176\u4ed6\u7f51\u7edc\u4f20\u8f93,\u4e5f\u4f1a\u5f71\u54cd\u5230\u8fd9\u90e8\u5206\u7684\u5e26\u5bbd\u91c7\u6837.\u6240\u4ee5\u53ef\u4ee5\u770b\u5230\u603b\u8ba160\u79d2\u65f6\u95f4\u5185,\u90fd\u57284 10<br \/>\nMBits \u4e0a\u4e0b\u8d77\u4f0f.<br \/>\n\u9664\u4e86TCP \u6d4b\u8bd5\u4e4b\u5916,iperf \u7684UDP \u6d4b\u8bd5\u4e3b\u8981\u662f\u8bc4\u4f30\u5305\u4e22\u5931\u548c\u6296\u52a8.<br \/>\n\u63a5\u4e0b\u6765\u7684iperf \u6d4b\u8bd5,\u662f\u5728\u540c\u6837\u768454Mbit G\u6807\u51c6\u65e0\u7ebf\u7f51\u7edc\u4e2d.\u5728\u65e9\u671f\u7684\u793a\u8303\u4f8b\u5b50\u4e2d,\u76ee\u524d\u7684\u541e\u5410\u91cf\u53ea\u67099<br \/>\nMbits.<br \/>\n# iperf c<br \/>\n192.168.1.215 b<br \/>\n10M<br \/>\nWARNING: option b<br \/>\nimplies udp testing<br \/>\nClient<br \/>\nconnecting to 192.168.1.215, UDP port 5001<br \/>\nSending 1470 byte datagrams<br \/>\nUDP buffer size: 107 KByte (default)<br \/>\n[<br \/>\n3] local 192.168.224.150 port 33589 connected with 192.168.1.215 port 5001<br \/>\n[ ID] Interval Transfer Bandwidth<br \/>\n[ 3] 0.010.0<br \/>\nsec 11.8 MBytes 9.90 Mbits\/sec<br \/>\n[ 3] Sent 8420 datagrams<br \/>\n[ 3] Server Report:<br \/>\n[ ID] Interval Transfer Bandwidth Jitter Lost\/Total Datagrams<br \/>\n[ 3] 0.010.0<br \/>\nsec 6.50 MBytes 5.45 Mbits\/sec 0.480 ms 3784\/ 8419 (45%)<br \/>\n[ 3] 0.010.0<br \/>\nsec 1 datagrams received outoforder<br \/>\n\u4ece\u8f93\u51fa\u4e2d\u53ef\u770b\u51fa,\u5728\u5c1d\u8bd5\u4f20\u8f9310M \u7684\u6570\u636e\u65f6,\u5b9e\u9645\u4e0a\u53ea\u4ea7\u751f\u4e865.45M.\u5374\u670945% \u7684\u5305\u4e22\u5931.<br \/>\n<strong>8.3 Individual Connections with tcptrace<\/strong><br \/>\ntcptrace \u5de5\u5177\u63d0\u4f9b\u4e86\u5bf9\u4e8e\u67d0\u4e00\u5177\u4f53\u8fde\u63a5\u91cc,\u8be6\u7ec6\u7684TCP \u76f8\u5173\u4fe1\u606f.\u8be5\u5de5\u5177\u4f7f\u7528libcap \u6765\u5206\u6790\u67d0\u4e00\u5177\u4f53TCP<br \/>\nsessions.\u8be5\u5de5\u5177\u6c47\u62a5\u7684\u4fe1\u606f,\u6709\u65f6\u5f88\u96be\u5728\u67d0\u4e00TCP stream\u88ab\u53d1\u73b0.\u8fd9\u4e9b\u4fe1\u606f<br \/>\n\u5305\u62ec\u4e86\u6709:<br \/>\n1,TCP Retransmissions(IP \u8f6c\u64ad) \u6240<br \/>\n\u6709\u6570\u636e\u5927\u5c0f\u88ab\u53d1\u9001\u6240\u9700\u7684\u5305\u603b\u989d<br \/>\n2,TCP Windows Sizes \u8fde<br \/>\n\u63a5\u901f\u5ea6\u6162\u4e0e\u5c0f\u7684windows sizes \u6709\u5173<br \/>\n3,Total throughput of the connection \u8fde<br \/>\n\u63a5\u7684\u541e\u5410\u91cf<br \/>\n4,Connection duration \u8fde<br \/>\n\u63a5\u7684\u6301\u7eed\u65f6\u95f4<br \/>\n8.3.1 \u6848\u4f8b\u5b66\u4e60 \u4f7f<br \/>\n\u7528tcptrace<br \/>\ntcptrace \u5de5\u5177\u53ef\u80fd\u5df2\u7ecf\u5728\u90e8\u5206Linux \u53d1\u5e03\u7248\u4e2d\u6709\u5b89\u88c5\u5305\u4e86,\u8be5\u6587\u4f5c\u8005\u901a\u8fc7\u7f51\u7ad9,\u4e0b\u8f7d\u7684\u662f\u6e90\u7801\u5b89\u88c5\u5305:http:\/\/<br \/>\ndag.wieers.com\/rpm\/packages \/tcptrace.tcptrace \u9700\u8981libcap \u57fa\u4e8e\u6587\u4ef6\u8f93\u5165\u65b9\u5f0f\u4f7f\u7528.\u5728tcptrace \u6ca1\u6709\u9009<br \/>\n\u9879\u7684\u60c5\u51b5\u4e0b,\u9ed8\u8ba4\u6bcf\u4e2a\u552f\u4e00\u7684\u8fde\u63a5\u8fc7\u7a0b\u90fd\u5c06\u88ab\u6355\u83b7.<br \/>\n\u4ee5\u4e0b\u4f8b\u5b50\u662f,\u4f7f\u7528libcap \u57fa\u4e8e\u8f93\u5165\u6587\u4ef6\u4e3abigstuff:<br \/>\n# tcptrace bigstuff<br \/>\n1 arg remaining, starting with &#8216;bigstuff&#8217;<br \/>\nOstermann&#8217;s tcptrace version<br \/>\n6.6.7 Thu<br \/>\nNov 4, 2004<br \/>\n146108 packets seen, 145992 TCP packets traced<br \/>\nelapsed wallclock time: 0:00:01.634065, 89413 pkts\/sec analyzed<br \/>\ntrace file elapsed time: 0:09:20.358860<br \/>\nTCP connection info:<br \/>\n1: 192.168.1.60:pcanywherestat 192.168.1.102:<br \/>\n2571 (a2b) 404&gt; 450&lt;&lt;BR&gt;2: 192.168.1.60:3356 ftp.<br \/>\nstrongmail.net:21 (c2d) 35&gt; 21&lt;&lt;BR&gt;3: 192.168.1.60:3825 ftp.<br \/>\nstrongmail.net:65023 (e2f) 5&gt; 4&lt;&lt;BR&gt;(complete)<br \/>\n4: 192.168.1.102:1339 205.188.8.194:<br \/>\n5190 (g2h) 6&gt; 6&lt;&lt;BR&gt;5: 192.168.1.102:1490 cs127.<br \/>\nmsg.mud.yahoo.com:5050 (i2j) 5&gt; 5&lt;&lt;BR&gt;6: pyinf111.<br \/>\ngoogle.com:993 192.168.1.102:<br \/>\n3785 (k2l) 13&gt; 14&lt;&lt;BR&gt;\u4e0a\u9762\u7684\u8f93\u51fa\u4e2d,\u6bcf\u4e2a\u8fde\u63a5\u90fd\u6709\u5bf9\u5e94\u7684\u6e90\u4e3b\u673a\u548c\u76ee\u7684\u4e3b\u673a.tcptrace \u4f7f\u7528l<br \/>\n\u548co<br \/>\n\u9009\u9879\u53ef\u67e5\u770b\u67d0\u4e00\u8fde\u63a5\u66f4\u8be6\u7ec6\u7684<br \/>\n\u6570\u636e.<br \/>\n\u4ee5\u4e0b\u7684\u7ed3\u679c,\u5c31\u662f\u5728bigstuff \u6587\u4ef6\u4e2d,#16 \u8fde\u63a5\u7684\u76f8\u5173\u7edf\u8ba1\u6570\u636e:<br \/>\n# tcptrace l<br \/>\no1<br \/>\nbigstuff<br \/>\n1 arg remaining, starting with &#8216;bigstuff&#8217;<br \/>\nOstermann&#8217;s tcptrace version<br \/>\n6.6.7 Thu<br \/>\nNov 4, 2004<br \/>\n146108 packets seen, 145992 TCP packets traced<br \/>\nelapsed wallclock time: 0:00:00.529361, 276008 pkts\/sec analyzed<br \/>\ntrace file elapsed time: 0:09:20.358860<br \/>\nTCP connection info:<br \/>\n32 TCP connections traced:<br \/>\nTCP connection 1:<br \/>\nhost a: 192.168.1.60:pcanywherestat<br \/>\nhost b: 192.168.1.102:2571<br \/>\ncomplete conn: no (SYNs: 0) (FINs: 0)<br \/>\nfirst packet: Sun Jul 20 15:58:05.472983 2008<br \/>\nlast packet: Sun Jul 20 16:00:04.564716 2008<br \/>\nelapsed time: 0:01:59.091733<br \/>\ntotal packets: 854<br \/>\nfilename: bigstuff<br \/>\na&gt;<br \/>\nb: b&gt;<br \/>\na:<br \/>\ntotal packets: 404 total packets: 450<br \/>\nack pkts sent: 404 ack pkts sent: 450<br \/>\npure acks sent: 13 pure acks sent: 320<br \/>\nsack pkts sent: 0 sack pkts sent: 0<br \/>\ndsack pkts sent: 0 dsack pkts sent: 0<br \/>\nmax sack blks\/ack: 0 max sack blks\/ack: 0<br \/>\nunique bytes sent: 52608 unique bytes sent: 10624<br \/>\nactual data pkts: 391 actual data pkts: 130<br \/>\nactual data bytes: 52608 actual data bytes: 10624<br \/>\nrexmt data pkts: 0 rexmt data pkts: 0<br \/>\nrexmt data bytes: 0 rexmt data bytes: 0<br \/>\nzwnd probe pkts: 0 zwnd probe pkts: 0<br \/>\nzwnd probe bytes: 0 zwnd probe bytes: 0<br \/>\noutoforder pkts: 0 outoforder pkts: 0<br \/>\npushed data pkts: 391 pushed data pkts: 130<br \/>\nSYN\/FIN pkts sent: 0\/0 SYN\/FIN pkts sent: 0\/0<br \/>\nurgent data pkts: 0 pkts urgent data pkts: 0 pkts<br \/>\nurgent data bytes: 0 bytes urgent data bytes: 0 bytes<br \/>\nmss requested: 0 bytes mss requested: 0 bytes<br \/>\nmax segm size: 560 bytes max segm size: 176 bytes<br \/>\nmin segm size: 48 bytes min segm size: 80 bytes<br \/>\navg segm size: 134 bytes avg segm size: 81 bytes<br \/>\nmax win adv: 19584 bytes max win adv: 65535 bytes<br \/>\nmin win adv: 19584 bytes min win adv: 64287 bytes<br \/>\nzero win adv: 0 times zero win adv: 0 times<br \/>\navg win adv: 19584 bytes avg win adv: 64949 bytes<br \/>\ninitial window: 160 bytes initial window: 0 bytes<br \/>\ninitial window: 2 pkts initial window: 0 pkts<br \/>\nttl stream length: NA ttl stream length: NA<br \/>\nmissed data: NA missed data: NA<br \/>\ntruncated data: 36186 bytes truncated data: 5164 bytes<br \/>\ntruncated packets: 391 pkts truncated packets: 130 pkts<br \/>\ndata xmit time: 119.092 secs data xmit time: 116.954 secs<br \/>\nidletime max: 441267.1 ms idletime max: 441506.3 ms<br \/>\nthroughput: 442 Bps throughput: 89 Bps<br \/>\n<strong>8.3.2 \u6848\u4f8b\u5b66\u4e60 \u8ba1\u7b97\u8f6c\u64ad\u7387<\/strong><br \/>\n\u51e0\u4e4e\u4e0d\u53ef\u80fd\u786e\u5b9a\u8bf4\u54ea\u4e2a\u8fde\u63a5\u4f1a\u6709\u4e25\u91cd\u4e0d\u8db3\u7684\u8f6c\u64ad\u95ee\u9898,\u53ea\u662f\u9700\u8981\u5206\u6790,\u4f7f\u7528tcptrace \u5de5\u5177\u53ef\u4ee5\u901a\u8fc7\u8fc7\u6ee4\u673a\u5236<br \/>\n\u548c\u5e03\u5c14\u8868\u8fbe\u5f0f\u6765\u627e\u51fa\u51fa\u95ee\u9898\u7684\u8fde\u63a5.\u4e00\u4e2a\u5f88\u7e41\u5fd9\u7684\u7f51\u7edc\u4e2d,\u4f1a\u6709\u5f88\u591a\u7684\u8fde\u63a5,\u51e0\u4e4e\u6240\u6709\u7684\u8fde\u63a5\u90fd\u4f1a\u6709\u8f6c\u64ad.\u627e<br \/>\n\u51fa\u5176\u4e2d\u6700\u591a\u7684\u4e00\u4e2a,\u8fd9\u5c31\u662f\u95ee\u9898\u7684\u5173\u952e.<br \/>\n\u4e0b\u9762\u7684\u4f8b\u5b50\u91cc,tcptrace \u5c06\u627e\u51fa\u90a3\u4e9b\u8f6c\u64ad\u5927\u4e8e100 segments(\u5206\u6bb5\u6570)\u7684\u8fde\u63a5:<br \/>\n# tcptrace f&#8217;rexmit_<br \/>\nsegs&gt;100&#8242; bigstuff<br \/>\nOutput filter: ((c_rexmit_segs&gt;100)OR(s_rexmit_segs&gt;100))<br \/>\n1 arg remaining, starting with &#8216;bigstuff&#8217;<br \/>\nOstermann&#8217;s tcptrace version<br \/>\n6.6.7 Thu<br \/>\nNov 4, 2004<br \/>\n146108 packets seen, 145992 TCP packets traced<br \/>\nelapsed wallclock time: 0:00:00.687788, 212431 pkts\/sec analyzed<br \/>\ntrace file elapsed time: 0:09:20.358860<br \/>\nTCP connection info:<br \/>\n16:\u00a0<a href=\"ftp:\/\/ftp.strongmail.net:65014\/\" target=\"_blank\" rel=\"nofollow noopener\">ftp.strongmail.net:65014<\/a>\u00a0192.168.1.60:<br \/>\n2158 (ae2af) 18695&gt; 9817&lt;&lt;BR&gt;\u5728\u8fd9\u4e2a\u8f93\u51fa\u4e2d,\u662f#16 \u8fd9\u4e2a\u8fde\u63a5\u91cc,\u8d85\u8fc7\u4e86100 \u8f6c\u64ad.\u73b0\u5728,\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5173\u4e8e\u8fd9\u4e2a\u8fde\u63a5\u7684\u5176\u4ed6\u4fe1\u606f:<br \/>\n# tcptrace l<br \/>\no16<br \/>\nbigstuff<br \/>\narg remaining, starting with &#8216;bigstuff&#8217;<br \/>\nOstermann&#8217;s tcptrace version<br \/>\n6.6.7 Thu<br \/>\nNov 4, 2004<br \/>\n146108 packets seen, 145992 TCP packets traced<br \/>\nelapsed wallclock time: 0:00:01.355964, 107752 pkts\/sec analyzed<br \/>\ntrace file elapsed time: 0:09:20.358860<br \/>\nTCP connection info:<br \/>\n32 TCP connections traced:<br \/>\n================================<br \/>\nTCP connection 16:<br \/>\nhost ae:\u00a0<a href=\"ftp:\/\/ftp.strongmail.net:65014\/\" target=\"_blank\" rel=\"nofollow noopener\">ftp.strongmail.net:65014<\/a><br \/>\nhost af: 192.168.1.60:2158<br \/>\ncomplete conn: no (SYNs: 0) (FINs: 1)<br \/>\nfirst packet: Sun Jul 20 16:04:33.257606 2008<br \/>\nlast packet: Sun Jul 20 16:07:22.317987 2008<br \/>\nelapsed time: 0:02:49.060381<br \/>\ntotal packets: 28512<br \/>\nfilename: bigstuff<br \/>\nae&gt;<br \/>\naf: af&gt;<br \/>\nae:<br \/>\nunique bytes sent: 25534744 unique bytes sent: 0<br \/>\nactual data pkts: 18695 actual data pkts: 0<br \/>\nactual data bytes: 25556632 actual data bytes: 0<br \/>\nrexmt data pkts: 1605 rexmt data pkts: 0<br \/>\nrexmt data bytes: 2188780 rexmt data bytes: 0<br \/>\n\u8ba1\u7b97\u8f6c\u64ad\u7387:<br \/>\nrexmt\/actual * 100 = Retransmission rate<br \/>\n1605\/18695* 100 = 8.5%<br \/>\n\u8fd9\u4e2a\u6162\u8fde\u63a5\u7684\u539f\u56e0,\u5c31\u662f\u56e0\u4e3a\u5b83\u67098.5% \u7684\u8f6c\u64ad\u7387.<br \/>\n<strong>8.3.3 \u6848\u4f8b\u5b66\u4e60 \u8ba1\u7b97\u8f6c\u64ad\u65f6\u95f4<\/strong><br \/>\ntcptrace \u5de5\u5177\u6709\u4e00\u7cfb\u5217\u7684\u6a21\u5757\u5c55\u793a\u4e0d\u540c\u7684\u6570\u636e,\u6309\u7167\u5c5e\u6027,\u5176\u4e2d\u5c31\u6709protocol(\u534f\u8bae),port(\u7aef\u53e3),time\u7b49<br \/>\n\u7b49.Slice module\u4f7f\u5f97\u4f60\u53ef\u89c2\u5bdf\u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684TCP \u6027\u80fd.\u4f60\u53ef\u4ee5\u5728\u4e00\u7cfb\u5217\u7684\u8f6c\u53d1\u8fc7\u7a0b\u4e2d,\u67e5\u770b\u5176\u4ed6\u6027\u80fd\u6570<br \/>\n\u636e,\u4ee5\u786e\u5b9a\u627e\u51fa\u74f6\u9888.<br \/>\n\u4ee5\u4e0b\u4f8b\u5b50\u793a\u8303\u4e86,tcptrace \u662f\u600e\u6837\u4f7f\u7528slice \u6a21\u5f0f\u7684:<br \/>\n# tcptrace \u2013xslice bigfile<br \/>\n\u4ee5\u4e0a\u547d\u4ee4\u4f1a\u521b\u5efa\u4e00\u4e2aslice.dat \u6587\u4ef6\u5728\u73b0\u5728\u7684\u5de5\u4f5c\u76ee\u5f55\u4e2d.\u8fd9\u4e2a\u6587\u4ef6\u5185\u5bb9,\u5305\u542b\u662f\u6bcf15\u79d2\u95f4\u9694\u5185\u8f6c\u64ad\u7684\u76f8\u5173<br \/>\n\u4fe1\u606f:<br \/>\n# ls l<br \/>\nslice.dat<br \/>\nrwrr1<br \/>\nroot root 3430 Jul 10 22:50 slice.dat<br \/>\n# more slice.dat<br \/>\ndate segs bytes rexsegs rexbytes new active<br \/>\n22:<br \/>\n19:41.913288 46 5672 0 0 1 1<br \/>\n22:19:56.913288 131 25688 0 0 0 1<br \/>\n22:20:11.913288 0 0 0 0 0 0<br \/>\n22:20:26.913288 5975 4871128 0 0 0 1<br \/>\n22:20:41.913288 31049 25307256 0 0 0 1<br \/>\n22:20:56.913288 23077 19123956 40 59452 0 1<br \/>\n22:21:11.913288 26357 21624373 5 7500 0 1<br \/>\n22:21:26.913288 20975 17248491 3 4500 12 13<br \/>\n22:21:41.913288 24234 19849503 10 15000 3 5<br \/>\n22:21:56.913288 27090 22269230 36 53999 0 2<br \/>\n22:22:11.913288 22295 18315923 9 12856 0 2<br \/>\n22:22:26.913288 8858 7304603 3 4500 0 1<br \/>\n<strong>8.4 \u7ed3\u8bba<\/strong><br \/>\n\u76d1\u63a7\u7f51\u7edc\u6027\u80fd\u7531\u4ee5\u4e0b\u51e0\u4e2a\u90e8\u5206\u7ec4\u6210:<br \/>\n1,\u68c0\u67e5\u5e76\u786e\u5b9a\u6240\u6709\u7f51\u5361\u90fd\u5de5\u4f5c\u5728\u6b63\u786e\u7684\u901f\u7387.<br \/>\n2,\u68c0\u67e5\u6bcf\u5757\u7f51\u5361\u7684\u541e\u5410\u91cf,\u5e76\u786e\u8ba4\u5176\u5904\u4e8e\u670d\u52a1\u65f6\u7684\u7f51\u7edc\u901f\u5ea6.<br \/>\n3,\u76d1\u63a7\u7f51\u7edc\u6d41\u91cf\u7684\u7c7b\u578b,\u5e76\u786e\u5b9a\u9002\u5f53\u7684\u6d41\u91cf\u4f18\u5148\u7ea7\u7b56\u7565.<br \/>\n\u7ed3\u675f\u8bed: \u8fd9\u662f\u8be5\u8bd1\u6587\u7684\u6700\u540e\u4e00\u7bc7,\u5728\u8fd9\u7bc7\u4e2d,\u4f5c\u8005\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6848\u4f8b\u73af\u5883,\u7528\u4e4b\u524d\u51e0\u7bc7\u6240\u9610\u8ff0\u7684\u7406\u8bba\u4ee5\u53ca\u6d89\u53ca\u5230<br \/>\n\u7684\u5de5\u5177,\u5bf9\u5176\u8fdb\u884c\u4e00\u4e2a\u6574\u4f53\u7684\u7cfb\u7edf\u6027\u80fd\u68c0\u67e5.\u5bf9\u5927\u5bb6\u66f4\u597d\u7406\u89e3\u7cfb\u7edf\u6027\u80fd\u76d1\u63a7,\u8fdb\u884c\u4e00\u6b21\u5b9e\u6218\u6f14\u4e60.<br \/>\nBTW:\u5728\u4e2d\u6587\u6280\u672f\u7f51\u7ad9\u4e0a,\u7c7b\u4f3c\u5185\u5bb9\u7684\u6587\u7ae0,\u5927\u4f53\u662f\u6765\u81ea\u8be5\u4f5c\u80050607<br \/>\n\u5e74\u6240\u8457\u8bba\u6587,\u6b64\u8bd1\u6587\u662f\u5efa\u7acb\u5728\u4f5c\u8005\u4e3a<br \/>\nOSCON 2009\u91cd\u5199\u57fa\u7840\u4e0a\u7684.\u6240\u4ee5\u90e8\u5206\u5185\u5bb9\u53ef\u80fd\u4f1a\u5b58\u5728\u91cd\u590d\u96f7\u540c,\u7279\u6b64\u8bf4\u660e\u4e0b.<br \/>\n\u9644\u5f55 A: \u6848\u4f8b\u5b66\u4e60 \u6027<br \/>\n\u80fd\u76d1\u63a7\u4e4b\u5faa\u5e8f\u6e10\u8fdb<br \/>\n\u67d0\u4e00\u5929,\u4e00\u4e2a\u5ba2\u6237\u6253\u7535\u8bdd\u6765\u9700\u8981\u6280\u672f\u5e2e\u52a9,\u5e76\u62b1\u6028\u5e73\u5e3815\u79d2\u5c31\u53ef\u4ee5\u6253\u5f00\u7684\u7f51\u9875\u73b0\u5728\u9700\u898120\u5206\u949f\u624d\u53ef\u4ee5\u6253\u5f00.<br \/>\n\u5177\u4f53\u7cfb\u7edf\u914d\u7f6e\u5982\u4e0b:<br \/>\nRedHat Enterprise Linux 3 update 7<br \/>\nDell 1850 Dual Core Xenon Processors, 2 GB RAM, 75GB 15K Drives<br \/>\nCustom LAMP software stack(Llinux+apache+mysql+php \u73af\u5883)<br \/>\n\u6027\u80fd\u5206\u6790\u4e4b\u6b65\u9aa4<br \/>\n1. \u9996\u5148\u4f7f\u7528vmstat \u67e5\u770b\u5927\u81f4\u7684\u7cfb\u7edf\u6027\u80fd\u60c5\u51b5:<br \/>\n# vmstat 1 10<br \/>\nprocs memory swap io system cpu<br \/>\nr b swpd free buff cache si so bi bo in cs us sy id wa<br \/>\n1 0 249844 19144 18532 1221212 0 0 7 3 22 17 25 8 17 18<br \/>\n0 1 249844 17828 18528 1222696 0 0 40448 8 1384 1138 13 7 65 14<br \/>\n0 1 249844 18004 18528 1222756 0 0 13568 4 623 534 3 4 56 37<br \/>\n2 0 249844 17840 18528 1223200 0 0 35200 0 1285 1017 17 7 56 20<br \/>\n1 0 249844 22488 18528 1218608 0 0 38656 0 1294 1034 17 7 58 18<br \/>\n0 1 249844 21228 18544 1219908 0 0 13696 484 609 559 5 3 54 38<br \/>\n0 1 249844 17752 18544 1223376 0 0 36224 4 1469 1035 10 6 67 17<br \/>\n1 1 249844 17856 18544 1208520 0 0 28724 0 950 941 33 12 49 7<br \/>\n1 0 249844 17748 18544 1222468 0 0 40968 8 1266 1164 17 9 59 16<br \/>\n1 0 249844 17912 18544 1222572 0 0 41344 12 1237 1080 13 8 65 13<br \/>\n\u5206\u6790:<br \/>\n1,\u4e0d\u4f1a\u662f\u5185\u5b58\u4e0d\u8db3\u5bfc\u81f4,\u56e0\u4e3aswapping \u59cb\u7ec8\u6ca1\u53d8\u5316(si \u548c so).\u5c3d\u7ba1\u7a7a\u95f2\u5185\u5b58\u4e0d\u591a(free),\u4f46swpd \u4e5f\u6ca1\u6709\u53d8<br \/>\n\u5316.<br \/>\n2,CPU \u65b9\u9762\u4e5f\u6ca1\u6709\u592a\u5927\u95ee\u9898,\u5c3d\u7ba1\u6709\u4e00\u4e9b\u8fd0\u884c\u961f\u5217(procs r),\u4f46\u5904\u7406\u5668\u8fd8\u59cb\u7ec8\u670950% \u591a\u7684idle(CPU id).<br \/>\n3,\u6709\u592a\u591a\u7684\u4e0a\u4e0b\u6587\u5207\u6362(cs)\u4ee5\u53cadisk block\u4eceRAM\u4e2d\u88ab\u8bfb\u5165(bo).<br \/>\n4,CPU \u8fd8\u6709\u5e73\u574720% \u7684I\/O \u7b49\u5f85\u60c5\u51b5.<br \/>\n\u7ed3\u8bba:<br \/>\n\u4ece\u4ee5\u4e0a\u603b\u7ed3\u51fa,\u8fd9\u662f\u4e00\u4e2aI\/O \u74f6\u9888.<br \/>\n2. \u7136\u540e\u4f7f\u7528iostat \u68c0\u67e5\u662f\u8c01\u5728\u53d1\u51faIO \u8bf7\u6c42:<br \/>\n# iostat x<br \/>\n1<br \/>\nLinux 2.4.2140.<br \/>\nELsmp (mail.example.com) 03\/26\/2007<br \/>\navgcpu:<br \/>\n%user %nice %sys %idle<br \/>\n30.00 0.00 9.33 60.67<br \/>\nDevice: rrqm\/s wrqm\/s r\/s w\/s rsec\/s wsec\/s rkB\/s wkB\/s avgrqsz<br \/>\navgqusz<br \/>\nawait svctm %util<br \/>\n\/dev\/sda 7929.01 30.34 1180.91 14.23 7929.01 357.84 3964.50 178.92 6.93 0.39 0.03 0.06 6.69<br \/>\n\/dev\/sda1 2.67 5.46 0.40 1.76 24.62 57.77 12.31 28.88 38.11 0.06 2.78 1.77 0.38<br \/>\n\/dev\/sda2 0.00 0.30 0.07 0.02 0.57 2.57 0.29 1.28 32.86 0.00 3.81 2.64 0.03<br \/>\n\/dev\/sda3 7929.01 24.58 1180.44 12.45 7929.01 297.50 3964.50 148.75 6.90 0.32 0.03 0.06 6.68<br \/>\navgcpu:<br \/>\n%user %nice %sys %idle<br \/>\n9.50 0.00 10.68 79.82<br \/>\nDevice: rrqm\/s wrqm\/s r\/s w\/s rsec\/s wsec\/s rkB\/s wkB\/s avgrqsz<br \/>\navgqusz<br \/>\nawait svctm %util<br \/>\n\/dev\/sda 0.00 0.00 1195.24 0.00 0.00 0.00 0.00 0.00 0.00 43.69 3.60 0.99 117.86<br \/>\n\/dev\/sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00<br \/>\n\/dev\/sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00<br \/>\n\/dev\/sda3 0.00 0.00 1195.24 0.00 0.00 0.00 0.00 0.00 0.00 43.69 3.60 0.99 117.86<br \/>\navgcpu:<br \/>\n%user %nice %sys %idle<br \/>\n9.23 0.00 10.55 79.22<br \/>\nDevice: rrqm\/s wrqm\/s r\/s w\/s rsec\/s wsec\/s rkB\/s wkB\/s avgrqsz<br \/>\navgqusz<br \/>\nawait svctm %util<br \/>\n\/dev\/sda 0.00 0.00 1200.37 0.00 0.00 0.00 0.00 0.00 0.00 41.65 2.12 0.99 112.51<br \/>\n\/dev\/sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00<br \/>\n\/dev\/sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00<br \/>\n\/dev\/sda3 0.00 0.00 1200.37 0.00 0.00 0.00 0.00 0.00 0.00 41.65 2.12 0.99 112.51<br \/>\n\u5206\u6790:<br \/>\n1,\u770b\u4e0a\u53bb\u53ea\u6709\/dev\/sda3 \u5206\u533a\u5f88\u6d3b\u8dc3,\u5176\u4ed6\u5206\u533a\u90fd\u5f88\u7a7a\u95f2.<br \/>\n2,\u5dee\u4e0d\u591a\u67091200 \u8bfbIOPS,\u78c1\u76d8\u672c\u8eab\u662f\u652f\u6301200 IOPS\u5de6\u53f3(\u53c2\u8003\u4e4b\u524d\u7684IOPS \u8ba1\u7b97\u516c\u5f0f).<br \/>\n3,\u6709\u8d85\u8fc72\u79d2,\u5b9e\u9645\u4e0a\u6ca1\u6709\u4e00\u4e2a\u8bfb\u78c1\u76d8(rkb\/s).\u8fd9\u548c\u5728vmstat \u770b\u5230\u6709\u5927\u91cfI\/O wait\u662f\u6709\u5173\u7cfb\u7684.<br \/>\n4,\u5927\u91cf\u7684read IOPS(r\/s)\u548c\u5728vmstat \u4e2d\u5927\u91cf\u7684\u4e0a\u4e0b\u6587\u662f\u5339\u914d\u7684.\u8fd9\u8bf4\u660e\u5f88\u591a\u8bfb\u64cd\u4f5c\u90fd\u662f\u5931\u8d25\u7684.<br \/>\n\u7ed3\u8bba:<br \/>\n\u4ece\u4ee5\u4e0a\u603b\u7ed3\u51fa,\u90e8\u5206\u5e94\u7528\u7a0b\u5e8f\u5e26\u6765\u7684\u8bfb\u8bf7\u6c42,\u5df2\u7ecf\u8d85\u51fa\u4e86I\/O \u5b50\u7cfb\u7edf\u53ef\u5904\u7406\u7684\u8303\u56f4.<br \/>\n3. \u4f7f\u7528top \u6765\u67e5\u627e\u7cfb\u7edf\u6700\u6d3b\u8dc3\u7684\u5e94\u7528\u7a0b\u5e8f<br \/>\n# top d<br \/>\n1<br \/>\n11:46:11 up 3 days, 19:13, 1 user, load average: 1.72, 1.87, 1.80<br \/>\n176 processes: 174 sleeping, 2 running, 0 zombie, 0 stopped<br \/>\nCPU states: cpu user nice system irq softirq iowait idle<br \/>\ntotal 12.8% 0.0% 4.6% 0.2% 0.2% 18.7% 63.2%<br \/>\ncpu00 23.3% 0.0% 7.7% 0.0% 0.0% 36.8% 32.0%<br \/>\ncpu01 28.4% 0.0% 10.7% 0.0% 0.0% 38.2% 22.5%<br \/>\ncpu02 0.0% 0.0% 0.0% 0.9% 0.9% 0.0% 98.0%<br \/>\ncpu03 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 100.0%<br \/>\nMem: 2055244k av, 2032692k used, 22552k free, 0k shrd, 18256k buff<br \/>\n1216212k actv, 513216k in_d, 25520k in_c<br \/>\nSwap: 4192956k av, 249844k used, 3943112k free 1218304k cached<br \/>\nPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND<br \/>\n14939 mysql 25 0 379M 224M 1117 R 38.2 25.7% 15:17.78 mysqld<br \/>\n4023 root 15 0 2120 972 784 R 2.0 0.3 0:00.06 top<br \/>\n1 root 15 0 2008 688 592 S 0.0 0.2 0:01.30 init<br \/>\n2 root 34 19 0 0 0 S 0.0 0.0 0:22.59 ksoftirqd\/0<br \/>\n3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog\/0<br \/>\n4 root 10 5<br \/>\n0 0 0 S 0.0 0.0 0:00.05 events\/0<br \/>\n\u5206\u6790:<br \/>\n1,\u5360\u7528\u8d44\u6e90\u6700\u591a\u7684\u597d\u50cf\u5c31\u662fmysql \u8fdb\u7a0b,\u5176\u4ed6\u90fd\u5904\u4e8e\u5b8c\u5168idle \u72b6\u6001.<br \/>\n2,\u5728top(wa) \u770b\u5230\u7684\u6570\u503c,\u548c\u5728vmstat \u770b\u5230\u7684wio \u6570\u503c\u662f\u6709\u5173\u8054\u7684.<br \/>\n\u7ed3\u8bba:<br \/>\n\u4ece\u4ee5\u4e0a\u603b\u7ed3\u51fa,\u4f3c\u4e4e\u5c31\u53ea\u6709mysql \u8fdb\u7a0b\u5728\u8bf7\u6c42\u8d44\u6e90,\u56e0\u6b64\u53ef\u4ee5\u63a8\u8bba\u5b83\u5c31\u662f\u5bfc\u81f4\u95ee\u9898\u7684\u5173\u952e.<br \/>\n4. \u73b0\u5728\u5df2\u7ecf\u786e\u5b9a\u662fmysql \u5728\u53d1\u51fa\u8bfb\u8bf7\u6c42,\u4f7f\u7528strace \u6765\u68c0\u67e5\u5b83\u5728\u8bfb\u8bf7\u6c42\u4ec0\u4e48.<br \/>\n# strace p<br \/>\n14939<br \/>\nProcess 14939 attached interrupt<br \/>\nto quit<br \/>\nread(29, &#8220;\\3\\1\\237\\1\\366\\337\\1\\222%\\4\\2\\0\\0\\0\\0\\0012P\/d&#8221;, 20) = 20<br \/>\nread(29, &#8220;ata1\/strongmail\/log\/strongmaild&#8221;&#8230;,<br \/>\n399) = 399<br \/>\n_llseek(29, 2877621036, [2877621036], SEEK_SET) = 0<br \/>\nread(29, &#8220;\\1\\1\\241\\366\\337\\1\\223%\\4\\2\\0\\0\\0\\0\\0012P\/da&#8221;, 20) = 20<br \/>\nread(29, &#8220;ta1\/strongmail\/log\/strongmailde&#8221;&#8230;,<br \/>\n400) = 400<br \/>\n_llseek(29, 2877621456, [2877621456], SEEK_SET) = 0<br \/>\nread(29, &#8220;\\1\\1\\235\\366\\337\\1\\224%\\4\\2\\0\\0\\0\\0\\0012P\/da&#8221;, 20) = 20<br \/>\nread(29, &#8220;ta1\/strongmail\/log\/strongmailde&#8221;&#8230;,<br \/>\n396) = 396<br \/>\n_llseek(29, 2877621872, [2877621872], SEEK_SET) = 0<br \/>\nread(29, &#8220;\\1\\1\\245\\366\\337\\1\\225%\\4\\2\\0\\0\\0\\0\\0012P\/da&#8221;, 20) = 20<br \/>\nread(29, &#8220;ta1\/strongmail\/log\/strongmailde&#8221;&#8230;,<br \/>\n404) = 404<br \/>\n_llseek(29, 2877622296, [2877622296], SEEK_SET) = 0<br \/>\nread(29, &#8220;\\3\\1\\236\\2\\366\\337\\1\\226%\\4\\2\\0\\0\\0\\0\\0012P\/d&#8221;, 20) = 20<br \/>\n\u5206\u6790:<br \/>\n1,\u5927\u91cf\u7684\u8bfb\u64cd\u4f5c\u90fd\u5728\u4e0d\u65ad\u5bfb\u9053\u4e2d,\u8bf4\u660emysql \u8fdb\u7a0b\u4ea7\u751f\u7684\u662f\u968f\u673aIO.<br \/>\n2,\u770b\u4e0a\u53bb\u4f3c\u4e4e\u662f,\u67d0\u4e00sql \u67e5\u8be2\u5bfc\u81f4\u8bfb\u64cd\u4f5c.<br \/>\n\u7ed3\u8bba:<br \/>\n\u4ece\u4ee5\u4e0a\u603b\u7ed3\u51fa,\u6240\u6709\u7684\u8bfbIOPS \u90fd\u662fmysql \u8fdb\u7a0b\u5728\u6267\u884c\u67d0\u4e9b\u8bfb\u67e5\u8be2\u65f6\u4ea7\u751f\u7684.<br \/>\n5. \u4f7f\u7528mysqladmin \u547d\u4ee4,\u6765\u67e5\u627e\u662f\u54ea\u4e2a\u6162\u67e5\u8be2\u5bfc\u81f4\u7684.<br \/>\n# .\/mysqladmin pstrongmail<br \/>\nprocesslist<br \/>\nId | User | Host | db | Command | Time | State | Info<br \/>\n1 | root | localhost | strongmail | Sleep | 10 | |<br \/>\n| 2 | root | localhost | strongmail | Sleep | 8 | |<br \/>\n| 3 | root | localhost | root | Query | 94 | Updating | update `failures` set<br \/>\n`update_datasource`=&#8217;Y&#8217; where database_id=&#8217;32&#8217; and update_datasource=&#8217;N&#8217; and |<br \/>\n| 14 | root | localhost | | Query | 0 | | show processlist<br \/>\n\u5206\u6790:<br \/>\n1,MySQL \u6570\u636e\u5e93\u91cc,\u4f3c\u4e4e\u5728\u4e0d\u65ad\u7684\u8fd0\u884ctable update\u67e5\u8be2.<br \/>\n2,\u57fa\u4e8e\u8fd9\u4e2aupdate \u67e5\u8be2,\u6570\u636e\u5e93\u662f\u5bf9\u6240\u6709\u7684table \u8fdb\u884c\u7d22\u5f15.<br \/>\n\u7ed3\u8bba:<br \/>\n\u4ece\u4ee5\u4e0a\u603b\u7ed3\u51fa,MySQL\u91cc\u8fd9\u4e9bupdate \u67e5\u8be2\u95ee\u9898,\u90fd\u662f\u5728\u5c1d\u8bd5\u5bf9\u6240\u6709table \u8fdb\u884c\u7d22\u5f15.\u8fd9\u4e9b\u4ea7\u751f\u7684\u8bfb\u8bf7\u6c42\u6b63<br \/>\n\u662f\u5bfc\u81f4\u7cfb\u7edf\u6027\u80fd\u4e0b\u964d\u7684\u539f\u56e0.<br \/>\n\u540e\u7eed<br \/>\n\u628a\u4ee5\u4e0a\u8fd9\u4e9b\u6027\u80fd\u4fe1\u606f\u79fb\u4ea4\u7ed9\u4e86\u76f8\u5173\u5f00\u53d1\u4eba\u5458,\u7528\u4e8e\u5206\u6790\u4ed6\u4eec\u7684PHP \u4ee3\u7801.\u4e00\u4e2a\u5f00\u53d1\u4eba\u5458\u5bf9\u4ee3\u7801\u8fdb\u884c\u4e86\u4e34\u65f6<br \/>\n\u6027\u4f18\u5316.\u67d0\u4e2a\u67e5\u8be2\u5982\u679c\u51fa\u9519\u4e86,\u4e5f\u6700\u591a\u5230100K\u8bb0\u5f55.\u6570\u636e\u5e93\u672c\u8eab\u8003\u8651\u6700\u591a\u5b58\u57284\u767e\u4e07\u8bb0\u5f55.\u6700\u540e,\u8fd9\u4e2a\u67e5\u8be2\u4e0d<br \/>\n\u4f1a\u518d\u7ed9\u6570\u636e\u5e93\u5e26\u6765\u8d1f\u62c5\u4e86.<\/p>\n<\/div>\n<\/div>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u7ae0\u6765\u6e90\uff1ahttp:\/\/wenku.ba<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[],"tags":[117],"class_list":["post-1735","post","type-post","status-publish","format-standard","hentry","tag-01-linux"],"_links":{"self":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/1735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/comments?post=1735"}],"version-history":[{"count":0,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/1735\/revisions"}],"wp:attachment":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/media?parent=1735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/categories?post=1735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/tags?post=1735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}