{"id":24605,"date":"2020-05-07T16:45:28","date_gmt":"2020-05-07T08:45:28","guid":{"rendered":"http:\/\/www.zhushiyao.com\/?p=24605"},"modified":"2020-05-07T16:48:29","modified_gmt":"2020-05-07T08:48:29","slug":"192b8da97b","status":"publish","type":"post","link":"http:\/\/www.zhushiyao.com\/?p=24605","title":{"rendered":"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7"},"content":{"rendered":"<div class=\"bpp-post-content\">\n<p style=\"text-align: center;\">\u00a0<\/p>\n<p style=\"margin-right: 16px; margin-left: 16px; color: #595959; font-size: 15px; white-space: normal; max-width: 100%; min-height: 1em; caret-color: #333333; font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif; letter-spacing: 0.544px; text-size-adjust: auto; background-color: #ffffff; text-align: center; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><span style=\"color: #888888; max-width: 100%; font-size: 14px; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><span style=\"max-width: 100%; font-family: \u5fae\u8f6f\u96c5\u9ed1; letter-spacing: 1px; widows: 1; box-sizing: border-box !important; overflow-wrap: break-word !important;\">\u6587 |<\/span><span style=\"max-width: 100%; font-family: \u5fae\u8f6f\u96c5\u9ed1; letter-spacing: 1px; widows: 1; box-sizing: border-box !important; overflow-wrap: break-word !important;\">\u00a0\u67d0\u67d0\u767d\u7c73\u996d<\/span><br style=\"max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\" \/><\/span><\/p>\n<p style=\"margin-right: 16px; margin-left: 16px; color: #595959; font-size: 15px; white-space: normal; max-width: 100%; min-height: 1em; caret-color: #333333; font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif; letter-spacing: 0.544px; text-size-adjust: auto; background-color: #ffffff; text-align: center; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><span style=\"max-width: 100%; font-family: \u5fae\u8f6f\u96c5\u9ed1; font-size: 13px; letter-spacing: 1px; widows: 1; color: #888888; box-sizing: border-box !important; overflow-wrap: break-word !important;\">\u6765\u6e90\uff1aPython \u6280\u672f\u300cID: pythonall\u300d<\/span><\/p>\n<p style=\"margin-right: 16px; margin-left: 16px; color: #595959; font-size: 15px; white-space: normal; max-width: 100%; min-height: 1em; caret-color: #333333; font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif; letter-spacing: 0.544px; text-size-adjust: auto; background-color: #ffffff; text-align: center; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><img decoding=\"async\" style=\"letter-spacing: 0.544px; text-align: justify; font-size: 13px; display: inline; box-sizing: border-box !important; overflow-wrap: break-word !important; visibility: visible !important; width: 574px !important;\" title=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" src=\"http:\/\/www.zhushiyao.com\/wp-content\/uploads\/2020\/05\/7-1588841128.jpeg\" alt=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" width=\"84%\" \/><\/p>\n<section style=\"padding-right: 10px; padding-left: 10px; line-height: 1.6; word-break: break-word; overflow-wrap: break-word; text-align: left; font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, 'PingFang SC', Cambria, Cochin, Georgia, Times, 'Times New Roman', serif; margin-top: -10px; font-size: 15px; letter-spacing: 0.05em; color: #595959;\">\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">psutil \u662f\u4e00\u4e2a\u8de8\u5e73\u53f0\u5e93\uff08http:\/\/pythonhosted.org\/psutil\uff09\u80fd\u591f\u83b7\u53d6\u5230\u7cfb\u7edf\u8fd0\u884c\u7684\u8fdb\u7a0b\u548c\u7cfb\u7edf\u5229\u7528\u7387\uff08\u5305\u62ecCPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edc\u7b49\uff09\u4fe1\u606f\u3002\u4e3b\u8981\u7528\u6765\u505a\u7cfb\u7edf\u76d1\u63a7\uff0c\u6027\u80fd\u5206\u6790\uff0c\u8fdb\u7a0b\u7ba1\u7406\u3002\u652f\u6301 Linux\u3001Mac OS\u3001Windows \u7cfb\u7edf\u3002<\/p>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u672c\u6587\u4ee5 psutil \u6a21\u5757\u83b7\u53d6\u7cfb\u7edf\u4fe1\u606f\u5f00\u53d1\u4e00\u4e2a\u76d1\u63a7 Mac OS \u7cfb\u7edf\u7684\u5e73\u53f0\u3002<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"rich_pages js_insertlocalimg\" title=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" src=\"http:\/\/www.zhushiyao.com\/wp-content\/uploads\/2020\/05\/2-1588841128.gif\" alt=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" \/><\/p>\n<h3 style=\"font-size: 20px; margin-top: 1.2em; margin-bottom: 1em; font-weight: bold; color: #35b378;\">\u51c6\u5907\u5de5\u4f5c<\/h3>\n<h4 style=\"margin-top: 30px; margin-bottom: 15px; font-weight: bold; color: black; font-size: 18px;\">\u6280\u672f\u9009\u62e9<\/h4>\n<ul class=\"list-paddingleft-2\" style=\"margin-top: 8px; margin-bottom: 8px; padding-left: 25px; color: black;\">\n<li>\n<section style=\"line-height: 26px; color: #010101; margin-top: 10px; margin-bottom: 10px;\">\u76d1\u63a7\u7684\u7cfb\u7edf\u662f Mac OS \u7cfb\u7edf<\/section>\n<\/li>\n<li>\n<section style=\"line-height: 26px; color: #010101; margin-top: 10px; margin-bottom: 10px;\">\u76d1\u63a7\u7cfb\u7edf\u6a21\u5757\u9009\u62e9 psutil \u6a21\u5757<\/section>\n<\/li>\n<li>\n<section style=\"line-height: 26px; color: #010101; margin-top: 10px; margin-bottom: 10px;\">Web \u6846\u67b6\u9009\u62e9\u7684\u662f Flask \u6846\u67b6<\/section>\n<\/li>\n<li>\n<section style=\"line-height: 26px; color: #010101; margin-top: 10px; margin-bottom: 10px;\">\u524d\u7aef UI \u9009\u62e9\u7684\u662f Bootstrap UI<\/section>\n<\/li>\n<li>\n<section style=\"line-height: 26px; color: #010101; margin-top: 10px; margin-bottom: 10px;\">\u52a8\u6001\u53ef\u89c6\u5316\u56fe\u8868\u9009\u62e9 Pyecharts \u6a21\u5757<\/section>\n<\/li>\n<\/ul>\n<h4 style=\"margin-top: 30px; margin-bottom: 15px; font-weight: bold; color: black; font-size: 18px;\">\u5b89\u88c5 psutil<\/h4>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li>\u00a0<\/li>\n<\/ul>\n<pre class=\"code-snippet__js\"><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">pip3 install psutil<\/span><\/code><\/pre>\n<\/section>\n<h4 style=\"margin-top: 30px; margin-bottom: 15px; font-weight: bold; color: black; font-size: 18px;\">\u5b89\u88c5 Flask\u3001pyecharts\u3001Bootstrap<\/h4>\n<ul class=\"list-paddingleft-2\" style=\"margin-top: 8px; margin-bottom: 8px; padding-left: 25px; color: black;\">\n<li>\n<section style=\"line-height: 26px; color: #010101; margin-top: 10px; margin-bottom: 10px;\">Flask \u7684\u6559\u7a0b\u662f\u5728\u516c\u4f17\u53f7\u6587\u7ae0\uff1aWeb \u5f00\u53d1 Flask \u4ecb\u7ecd<\/section>\n<\/li>\n<li>\n<section style=\"line-height: 26px; color: #010101; margin-top: 10px; margin-bottom: 10px;\">Pyecharts \u7684\u6559\u7a0b\u5728\u516c\u4f17\u53f7\u6587\u7ae0\uff1aPython \u56fe\u8868\u5229\u5668 pyecharts\uff0c\u6309\u7167\u5b98\u7f51 (http:\/\/pyecharts.org\/#\/zh-cn\/web_flask) \u6587\u6863\u6574\u5408 Flask \u6846\u67b6\uff0c\u5e76\u4f7f\u7528\u5b9a\u65f6\u5168\u91cf\u66f4\u65b0\u56fe\u8868\u3002<\/section>\n<\/li>\n<li>\n<section style=\"line-height: 26px; color: #010101; margin-top: 10px; margin-bottom: 10px;\">Bootstrap \u662f\u4e00\u4e2a \u524d\u7aef\u7684 Web UI\uff0c\u5b98\u7f51\u5730\u5740\u662f (https:\/\/v4.bootcss.com)<\/section>\n<\/li>\n<\/ul>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"rich_pages js_insertlocalimg\" title=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" src=\"http:\/\/www.zhushiyao.com\/wp-content\/uploads\/2020\/05\/0-1588841128.png\" alt=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" \/><\/p>\n<h3 style=\"font-size: 20px; margin-top: 1.2em; margin-bottom: 1em; font-weight: bold; color: #35b378;\">\u83b7\u53d6\u7cfb\u7edf\u4fe1\u606f<\/h3>\n<h4 style=\"margin-top: 30px; margin-bottom: 15px; font-weight: bold; color: black; font-size: 18px;\">CPU\u4fe1\u606f<\/h4>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u901a\u8fc7 psutil \u83b7\u53d6 CPU \u4fe1\u606f<\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<pre class=\"code-snippet__js\"><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; import psutil<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u83b7\u53d6\u5f53\u524d CPU \u7684\u5229\u7528\u7387<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.cpu_percent()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">53.8<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u83b7\u53d6\u5f53\u524d CPU \u7684\u7528\u6237\/\u7cfb\u7edf\/\u7a7a\u95f2\u65f6\u95f4<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.cpu_times()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">scputimes(user=197483.49, nice=0.0, system=114213.01, idle=1942295.68)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># 1\/5\/15 \u5206\u949f\u4e4b\u5185\u7684 CPU \u8d1f\u8f7d<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.getloadavg()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">(7.865234375, 5.1826171875, 4.37353515625)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># CPU \u903b\u8f91\u4e2a\u6570<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.cpu_count()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">4<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># CPU \u7269\u7406\u4e2a\u6570<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.cpu_count(logical=False)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">2<\/span><\/code><\/pre>\n<\/section>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u5728\u76d1\u63a7\u5e73\u53f0\u4e0a\u6bcf 2 \u79d2\u8bf7\u6c42 url \u83b7\u53d6 CPU \u8d1f\u8f7d\uff0c\u5e76\u52a8\u6001\u663e\u793a\u56fe\u8868<\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<pre class=\"code-snippet__js\"><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">cpu_percent_dict = {}<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def cpu():<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u5f53\u524d\u65f6\u95f4<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    now = time.strftime('%H:%M:%S', time.localtime(time.time()))<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    #  CPU \u8d1f\u8f7d<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    cpu_percent = psutil.cpu_percent()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    cpu_percent_dict[now] = cpu_percent<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u4fdd\u6301\u5728\u56fe\u8868\u4e2d 10 \u4e2a\u6570\u636e<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    if len(cpu_percent_dict.keys()) == 11:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        cpu_percent_dict.pop(list(cpu_percent_dict.keys())[0])<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def cpu_line() -&gt; Line:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    cpu()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u5168\u91cf\u66f4\u65b0 pyecharts \u56fe\u8868<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    c = (<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        Line()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            .add_xaxis(list(cpu_percent_dict.keys()))<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            .add_yaxis('', list(cpu_percent_dict.values()), areastyle_opts=opts.AreaStyleOpts(opacity=0.5))<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            .set_global_opts(title_opts=opts.TitleOpts(title = now + \"CPU\u8d1f\u8f7d\",pos_left = \"center\"),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">                             yaxis_opts=opts.AxisOpts(min_=0,max_=100,split_number=10,type_=\"value\", name='%'))<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    )<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return c<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">@app.route(\"\/cpu\")<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def get_cpu_chart():<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    c = cpu_line()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return c.dump_options_with_quotes()<\/span><\/code><\/pre>\n<\/section>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u793a\u4f8b\u7ed3\u679c<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"rich_pages js_insertlocalimg\" title=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" src=\"http:\/\/www.zhushiyao.com\/wp-content\/uploads\/2020\/05\/7-1588841129.gif\" alt=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" \/><\/p>\n<h4 style=\"margin-top: 30px; margin-bottom: 15px; font-weight: bold; color: black; font-size: 18px;\">\u5185\u5b58<\/h4>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u901a\u8fc7 psutil \u83b7\u53d6\u5185\u5b58\u548c\u4ea4\u6362\u533a\u4fe1\u606f<\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<pre class=\"code-snippet__js\"><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u7cfb\u7edf\u5185\u5b58\u4fe1\u606f \u603b\u5185\u5b58\/\u7acb\u523b\u53ef\u7528\u7ed9\u8fdb\u7a0b\u4f7f\u7528\u7684\u5185\u5b58\/\u5185\u5b58\u8d1f\u8f7d\/\u5df2\u4f7f\u7528\u5185\u5b58\/\u7a7a\u95f2\u5185\u5b58\/\u5f53\u524d\u6b63\u5728\u4f7f\u7528\u6216\u8005\u6700\u8fd1\u4f7f\u7528\u7684\u5185\u5b58\/\u672a\u4f7f\u7528\u7684\u5185\u5b58\/\u6c38\u4e45\u5728\u5185\u5b58<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.virtual_memory()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">svmem(total=8589934592, available=2610610176, percent=69.6, used=4251074560, free=387874816, active=2219110400, inactive=2069094400, wired=2031964160)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u4ea4\u6362\u533a\u5185\u5b58 \u603b\u5185\u5b58\/\u4f7f\u7528\u7684\u5185\u5b58\/\u7a7a\u95f2\u7684\u5185\u5b58\/\u8d1f\u8f7d\/\u7cfb\u7edf\u4ece\u78c1\u76d8\u4ea4\u6362\u8fdb\u6765\u7684\u5b57\u8282\u6570(\u7d2f\u8ba1)\/\u7cfb\u7edf\u4ece\u78c1\u76d8\u4e2d\u4ea4\u6362\u7684\u5b57\u8282\u6570\uff08\u7d2f\u79ef\uff09<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.swap_memory()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">sswap(total=2147483648, used=834404352, free=1313079296, percent=38.9, sin=328911147008, sout=3249750016)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><\/pre>\n<\/section>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u5728\u76d1\u63a7\u5e73\u53f0\u4e0a\u6bcf 2 \u79d2\u8bf7\u6c42 url \u83b7\u53d6\u5185\u5b58\u8d1f\u8f7d\uff0c\u5e76\u52a8\u6001\u663e\u793a\u56fe\u8868<\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<pre class=\"code-snippet__js\"><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def memory():<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    memory = psutil.virtual_memory()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    swap = psutil.swap_memory()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u5728 Mac OS \u4e0a \u672a\u4f7f\u7528\u5185\u5b58 = \u603b\u5185\u5b58 - (\u7a7a\u95f2\u5185\u5b58 + \u672a\u4f7f\u7528\u5185\u5b58)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return memory.total, memory.total - (memory.free + memory.inactive), memory.free + memory.inactive, swap.total, swap.used, swap.free, memory.percent<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def memory_liquid() -&gt; Gauge:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    mtotal, mused, mfree, stotal, sused, sfree, mpercent = memory()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    c = (<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        Gauge()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            .add(\"\", [(\"\", mpercent)])<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            .set_global_opts(title_opts=opts.TitleOpts(title=\"\u5185\u5b58\u8d1f\u8f7d\", pos_left = \"center\"))<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    )<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return mtotal, mused, mfree, stotal, sused, sfree, c<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">@app.route(\"\/memory\")<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def get_memory_chart():<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    mtotal, mused, mfree, stotal, sused, sfree, c = memory_liquid()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return jsonify({'mtotal': mtotal, 'mused': mused, 'mfree': mfree, 'stotal': stotal, 'sused': sused, 'sfree': sfree, 'liquid': c.dump_options_with_quotes()})<\/span><\/code><\/pre>\n<\/section>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u793a\u4f8b\u7ed3\u679c<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"rich_pages js_insertlocalimg\" title=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" src=\"http:\/\/www.zhushiyao.com\/wp-content\/uploads\/2020\/05\/8-1588841129.gif\" alt=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" \/><\/p>\n<h4 style=\"margin-top: 30px; margin-bottom: 15px; font-weight: bold; color: black; font-size: 18px;\">\u78c1\u76d8<\/h4>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u901a\u8fc7 psutil \u83b7\u53d6\u78c1\u76d8\u5927\u5c0f\u3001\u5206\u533a\u3001\u4f7f\u7528\u7387\u548c\u78c1\u76d8IO<\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<pre class=\"code-snippet__js\"><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u78c1\u76d8\u5206\u533a\u60c5\u51b5<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.disk_partitions()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">[sdiskpart(device='\/dev\/disk1s5', mountpoint='\/', fstype='apfs', opts='ro,local,rootfs,dovolfs,journaled,multilabel'), sdiskpart(device='\/dev\/disk1s1', mountpoint='\/System\/Volumes\/Data', fstype='apfs', opts='rw,local,dovolfs,dontbrowse,journaled,multilabel'), sdiskpart(device='\/dev\/disk1s4', mountpoint='\/private\/var\/vm', fstype='apfs', opts='rw,local,dovolfs,dontbrowse,journaled,multilabel'), sdiskpart(device='\/dev\/disk1s3', mountpoint='\/Volumes\/Recovery', fstype='apfs', opts='rw,local,dovolfs,dontbrowse,journaled,multilabel')]<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u78c1\u76d8\u7684\u4f7f\u7528\u60c5\u51b5 \u78c1\u76d8\u603b\u5927\u5c0f\/\u5df2\u4f7f\u7528\u5927\u5c0f\/\u7a7a\u95f2\u5927\u5c0f\/\u8d1f\u8f7d<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.disk_usage('\/')<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">sdiskusage(total=250790436864, used=10872418304, free=39636717568, percent=21.5)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u78c1\u76d8IO \u8bfb\u53d6\u6b21\u6570\/\u5199\u5165\u6b21\u6570\/\u8bfb\u53d6\u6570\u636e\/\u5199\u5165\u6570\u636e\/\u78c1\u76d8\u8bfb\u53d6\u6240\u82b1\u8d39\u7684\u65f6\u95f4\/\u5199\u5165\u78c1\u76d8\u6240\u82b1\u8d39\u7684\u65f6\u95f4<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.disk_io_counters()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">sdiskio(read_count=26404943, write_count=11097500, read_bytes=609467826688, write_bytes=464322912256, read_time=7030486, write_time=2681553)<\/span><\/code><\/pre>\n<\/section>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u5728\u76d1\u63a7\u5e73\u53f0\u4e0a\u6bcf 2 \u79d2\u8bf7\u6c42 url \u83b7\u53d6\u78c1\u76d8\u4fe1\u606f\uff0c\u5e76\u52a8\u6001\u663e\u793a\u56fe\u8868<\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<pre class=\"code-snippet__js\"><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">disk_dict = {'disk_time':[], 'write_bytes': [], 'read_bytes': [], 'pre_write_bytes': 0, 'pre_read_bytes': 0, 'len': -1}<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def disk():<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    disk_usage = psutil.disk_usage('\/')<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    disk_used = 0<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u78c1\u76d8\u5df2\u4f7f\u7528\u5927\u5c0f = \u6bcf\u4e2a\u5206\u533a\u7684\u603b\u548c<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    partitions = psutil.disk_partitions()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    for partition in partitions:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        partition_disk_usage = psutil.disk_usage(partition[1])<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        disk_used = partition_disk_usage.used + disk_used<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    now = time.strftime('%H:%M:%S', time.localtime(time.time()))<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    count = psutil.disk_io_counters()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    read_bytes = count.read_bytes<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    write_bytes = count.write_bytes<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\">    <\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u7b2c\u4e00\u6b21\u8bf7\u6c42<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    if disk_dict['len'] == -1:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        disk_dict['pre_write_bytes'] = write_bytes<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        disk_dict['pre_read_bytes'] = read_bytes<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        disk_dict['len'] = 0<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        return disk_usage.total, disk_used, disk_usage.free<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\">    <\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u5f53\u524d\u901f\u7387=\u73b0\u5728\u5199\u5165\/\u8bfb\u53d6\u7684\u603b\u5b57\u8282-\u524d\u4e00\u6b21\u8bf7\u6c42\u5199\u5165\/\u8bfb\u53d6\u7684\u603b\u5b57\u8282<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    disk_dict['write_bytes'].append((write_bytes - disk_dict['pre_write_bytes'])\/1024)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    disk_dict['read_bytes'].append((read_bytes - disk_dict['pre_read_bytes'])\/ 1024)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    disk_dict['disk_time'].append(now)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    disk_dict['len'] = disk_dict['len'] + 1<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\">    <\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u628a\u73b0\u5728\u5199\u5165\/\u8bfb\u53d6\u7684\u603b\u5b57\u8282\u653e\u5165\u524d\u4e00\u4e2a\u8bf7\u6c42\u7684\u53d8\u91cf\u4e2d<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    disk_dict['pre_write_bytes'] = write_bytes<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    disk_dict['pre_read_bytes'] = read_bytes<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\">    <\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u4fdd\u6301\u5728\u56fe\u8868\u4e2d 50 \u4e2a\u6570\u636e<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    if disk_dict['len'] == 51:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        disk_dict['write_bytes'].pop(0)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        disk_dict['read_bytes'].pop(0)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        disk_dict['disk_time'].pop(0)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        disk_dict['len'] = disk_dict['len'] - 1<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return disk_usage.total, disk_used, disk_usage.free<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def disk_line() -&gt; Line:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    total, used, free = disk()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    c = (<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        Line(init_opts=opts.InitOpts(width=\"1680px\", height=\"800px\"))<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        .add_xaxis(xaxis_data=disk_dict['disk_time'])<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        .add_yaxis(<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            series_name=\"\u5199\u5165\u6570\u636e\",<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            y_axis=disk_dict['write_bytes'],<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            areastyle_opts=opts.AreaStyleOpts(opacity=0.5),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            linestyle_opts=opts.LineStyleOpts(),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            label_opts=opts.LabelOpts(is_show=False),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        )<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        .add_yaxis(<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            series_name=\"\u8bfb\u53d6\u6570\u636e\",<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            y_axis=disk_dict['read_bytes'],<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            yaxis_index=1,<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            areastyle_opts=opts.AreaStyleOpts(opacity=0.5),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            linestyle_opts=opts.LineStyleOpts(),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            label_opts=opts.LabelOpts(is_show=False),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        )<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        .extend_axis(<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            yaxis=opts.AxisOpts(<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">                name_location=\"start\",<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">                type_=\"value\",<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">                is_inverse=True,<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">                axistick_opts=opts.AxisTickOpts(is_show=True),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">                splitline_opts=opts.SplitLineOpts(is_show=True),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">                name='KB\/2S'<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            )<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        )<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        .set_global_opts(<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            title_opts=opts.TitleOpts(<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">                title=\"\u78c1\u76d8IO\",<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">                pos_left=\"center\",<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">                pos_top=\"top\",<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            ),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            tooltip_opts=opts.TooltipOpts(trigger=\"axis\", axis_pointer_type=\"cross\"),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            legend_opts=opts.LegendOpts(pos_left=\"left\"),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            xaxis_opts=opts.AxisOpts(type_=\"category\", boundary_gap=False),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            yaxis_opts=opts.AxisOpts( type_=\"value\", name='KB\/2S'),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        )<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        .set_series_opts(<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            axisline_opts=opts.AxisLineOpts(),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        )<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    )<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return total, used, free, c<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">@app.route(\"\/disk\")<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def get_disk_chart():<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    total, used, free, c = disk_line()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return jsonify({'total': total, 'used': used, 'free': free, 'line': c.dump_options_with_quotes()})<\/span><\/code><\/pre>\n<\/section>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u793a\u4f8b\u7ed3\u679c<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"rich_pages js_insertlocalimg\" title=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" src=\"http:\/\/www.zhushiyao.com\/wp-content\/uploads\/2020\/05\/6-1588841129.gif\" alt=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" \/><\/p>\n<h4 style=\"margin-top: 30px; margin-bottom: 15px; font-weight: bold; color: black; font-size: 18px;\">\u7f51\u5361<\/h4>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u901a\u8fc7 psutil \u83b7\u53d6\u7f51\u7edc\u63a5\u53e3\u548c\u7f51\u7edc\u8fde\u63a5\u7684\u4fe1\u606f<\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<pre class=\"code-snippet__js\"><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u83b7\u53d6\u7f51\u7edc\u5b57\u8282\u6570\u548c\u5305\u7684\u4e2a\u6570 \u53d1\u9001\u7684\u5b57\u8282\u6570\/\u6536\u5230\u7684\u5b57\u8282\u6570\/\u53d1\u9001\u7684\u5305\u6570\/\u6536\u5230\u7684\u5305\u6570<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.net_io_counters()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">snetio(bytes_sent=9257984, bytes_recv=231398400, packets_sent=93319, packets_recv=189501, errin=0, errout=0, dropin=0, dropout=0)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u83b7\u53d6\u5f53\u524d\u7684\u7f51\u7edc\u8fde\u63a5 \u6ce8\u610f\uff1anet_connections() \u9700\u8981\u7528\u7ba1\u7406\u5458\u6743\u9650\u8fd0\u884c Python \u6587\u4ef6<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.net_connections()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">[sconn(fd=6, family=&lt;AddressFamily.AF_INET: 2&gt;, type=&lt;SocketKind.SOCK_STREAM: 1&gt;, laddr=addr(ip='192.168.5.31', port=50541), raddr=addr(ip='17.248.159.145', port=443), status='ESTABLISHED', pid=1897), <\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">sconn(fd=12, family=&lt;AddressFamily.AF_INET: 2&gt;, type=&lt;SocketKind.SOCK_STREAM: 1&gt;, laddr=addr(ip='192.168.5.31', port=50543), raddr=addr(ip='17.250.120.9', port=443), status='ESTABLISHED', pid=1897), <\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">sconn(fd=6, family=&lt;AddressFamily.AF_INET: 2&gt;, type=&lt;SocketKind.SOCK_DGRAM: 2&gt;, laddr=addr(ip='0.0.0.0', port=0), raddr=(), status='NONE', pid=1790),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">sconn(fd=10, family=&lt;AddressFamily.AF_INET: 2&gt;, type=&lt;SocketKind.SOCK_DGRAM: 2&gt;, laddr=addr(ip='0.0.0.0', port=0), raddr=(), status='NONE', pid=1790),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">sconn(fd=11, family=&lt;AddressFamily.AF_INET: 2&gt;, type=&lt;SocketKind.SOCK_DGRAM: 2&gt;, laddr=addr(ip='0.0.0.0', port=0), raddr=(), status='NONE', pid=1790),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">...<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">sconn(fd=30, family=&lt;AddressFamily.AF_INET: 2&gt;, type=&lt;SocketKind.SOCK_DGRAM: 2&gt;, laddr=addr(ip='0.0.0.0', port=137), raddr=(), status='NONE', pid=1),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">sconn(fd=31, family=&lt;AddressFamily.AF_INET: 2&gt;, type=&lt;SocketKind.SOCK_DGRAM: 2&gt;, laddr=addr(ip='0.0.0.0', port=138), raddr=(), status='NONE', pid=1)]<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u83b7\u53d6\u7f51\u7edc\u63a5\u53e3\u4fe1\u606f<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.net_if_addrs()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">{'lo0': [snicaddr(family=&lt;AddressFamily.AF_INET: 2&gt;, address='127.0.0.1', netmask='255.0.0.0', broadcast=None, ptp=None), <\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">snicaddr(family=&lt;AddressFamily.AF_INET6: 30&gt;, address='::1', netmask='ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', broadcast=None, ptp=None), snicaddr(family=&lt;AddressFamily.AF_INET6: 30&gt;, address='fe80::1%lo0', netmask='ffff:ffff:ffff:ffff::', broadcast=None, ptp=None)], <\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">..., <\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">'utun1': [snicaddr(family=&lt;AddressFamily.AF_INET6: 30&gt;, address='fe80::b519:e5df:2bd4:857e%utun1', netmask='ffff:ffff:ffff:ffff::', broadcast=None, ptp=None)]}<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u83b7\u53d6\u7f51\u7edc\u63a5\u53e3\u7684\u72b6\u6001<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.net_if_stats()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">{'lo0': snicstats(isup=True, duplex=&lt;NicDuplex.NIC_DUPLEX_UNKNOWN: 0&gt;, speed=0, mtu=16384), <\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">...<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">'utun1': snicstats(isup=True, duplex=&lt;NicDuplex.NIC_DUPLEX_UNKNOWN: 0&gt;, speed=0, mtu=2000)}<\/span><\/code><\/pre>\n<\/section>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u5728\u76d1\u63a7\u5e73\u53f0\u4e0a\u6bcf 2 \u79d2\u8bf7\u6c42 url \u83b7\u53d6\u7f51\u5361IO\uff0c\u5e76\u52a8\u6001\u663e\u793a\u56fe\u8868<\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<pre class=\"code-snippet__js\"><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">net_io_dict = {'net_io_time':[], 'net_io_sent': [], 'net_io_recv': [], 'pre_sent': 0, 'pre_recv': 0, 'len': -1}<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def net_io():<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    now = time.strftime('%H:%M:%S', time.localtime(time.time()))<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u83b7\u53d6\u7f51\u7edc\u4fe1\u606f<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    count = psutil.net_io_counters()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    g_sent = count.bytes_sent<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    g_recv = count.bytes_recv<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u7b2c\u4e00\u6b21\u8bf7\u6c42<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    if net_io_dict['len'] == -1:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        net_io_dict['pre_sent'] = g_sent<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        net_io_dict['pre_recv'] = g_recv<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        net_io_dict['len'] = 0<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        return<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u5f53\u524d\u7f51\u7edc\u53d1\u9001\/\u63a5\u6536\u7684\u5b57\u8282\u901f\u7387 = \u73b0\u5728\u7f51\u7edc\u53d1\u9001\/\u63a5\u6536\u7684\u603b\u5b57\u8282 - \u524d\u4e00\u6b21\u8bf7\u6c42\u7f51\u7edc\u53d1\u9001\/\u63a5\u6536\u7684\u603b\u5b57\u8282<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    net_io_dict['net_io_sent'].append(g_sent - net_io_dict['pre_sent'])<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    net_io_dict['net_io_recv'].append(g_recv - net_io_dict['pre_recv'])<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    net_io_dict['net_io_time'].append(now)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    net_io_dict['len'] = net_io_dict['len'] + 1<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    net_io_dict['pre_sent'] = g_sent<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    net_io_dict['pre_recv'] = g_recv<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    # \u4fdd\u6301\u5728\u56fe\u8868\u4e2d 10 \u4e2a\u6570\u636e<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    if net_io_dict['len'] == 11:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        net_io_dict['net_io_sent'].pop(0)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        net_io_dict['net_io_recv'].pop(0)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        net_io_dict['net_io_time'].pop(0)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        net_io_dict['len'] = net_io_dict['len'] - 1<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def net_io_line() -&gt; Line:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    net_io()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    c = (<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    Line()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    .add_xaxis(net_io_dict['net_io_time'])<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    .add_yaxis(\"\u53d1\u9001\u5b57\u8282\u6570\", net_io_dict['net_io_sent'], is_smooth=True)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    .add_yaxis(\"\u63a5\u6536\u5b57\u8282\u6570\", net_io_dict['net_io_recv'], is_smooth=True)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    .set_series_opts(<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        areastyle_opts=opts.AreaStyleOpts(opacity=0.5),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        label_opts=opts.LabelOpts(is_show=False),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    )<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    .set_global_opts(<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        title_opts=opts.TitleOpts(title=\"\u7f51\u5361IO\/2\u79d2\"),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        xaxis_opts=opts.AxisOpts(<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            axistick_opts=opts.AxisTickOpts(is_align_with_label=True),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            is_scale=False,<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            boundary_gap=False,<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        ),<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    ))<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return c<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">@app.route(\"\/netio\")<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def get_net_io_chart():<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    c = net_io_line()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return c.dump_options_with_quotes()<\/span><\/code><\/pre>\n<\/section>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u793a\u4f8b\u7ed3\u679c<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"rich_pages js_insertlocalimg\" title=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" src=\"http:\/\/www.zhushiyao.com\/wp-content\/uploads\/2020\/05\/0-1588841129.gif\" alt=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" \/><\/p>\n<h4 style=\"margin-top: 30px; margin-bottom: 15px; font-weight: bold; color: black; font-size: 18px;\">\u8fdb\u7a0b<\/h4>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u901a\u8fc7 psutil \u53ef\u4ee5\u83b7\u53d6\u6240\u6709\u8fdb\u7a0b\u7684\u4fe1\u606f<\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<ul class=\"code-snippet__line-index code-snippet__js\">\n<li>\u00a0<\/li>\n<\/ul>\n<pre class=\"code-snippet__js\"><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u6240\u6709\u8fdb\u7a0b\u7684 pid<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; psutil.pids()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">[0, 1, 134, 135, 138, 139, 140, 141, 144, 145, 147, 152, ..., 30400, 97792]<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u5355\u4e2a\u8fdb\u7a0b<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; p = psutil.Process(30400)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u540d\u79f0<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; p.name()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">'pycharm'<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u4f7f\u7528\u5185\u5b58\u8d1f\u8f7d<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; p.memory_percent()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">12.838459014892578<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u542f\u52a8\u65f6\u95f4<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; p.create_time()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">1587029962.493182<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u8def\u5f84<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; p.exe()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">'\/Applications\/PyCharm.app\/Contents\/MacOS\/pycharm'<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u72b6\u6001<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; p.status()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">'running'<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u7528\u6237\u540d<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; p.username()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">'imeng'<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\"># \u5185\u5b58\u4fe1\u606f<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">&gt;&gt;&gt; p.memory_info()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">pmem(rss=1093005312, vms=9914318848, pfaults=7813313, pageins=8448)<\/span><\/code><\/pre>\n<\/section>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u5217\u51fa\u6240\u6709\u4e0d\u9700\u8981\u6743\u9650\u7684\u8fdb\u7a0b<\/p>\n<section class=\"code-snippet__fix code-snippet__js\">\n<pre class=\"code-snippet__js\"><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def process():<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    result = []<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    process_list = []<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    pid = psutil.pids()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    for k, i in enumerate(pid):<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        try:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            proc = psutil.Process(i)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            ctime = time.strftime(\"%Y-%m-%d %H:%M:%S\", time.localtime(proc.create_time()))<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            process_list.append((str(i), proc.name(), proc.cpu_percent(), proc.memory_percent(), ctime))<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        except psutil.AccessDenied:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            # \u9700\u8981\u7ba1\u7406\u5458\u6743\u9650<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            pass<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        except psutil.NoSuchProcess:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            pass<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        except SystemError:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">            pass<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\">        <\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        # \u6309\u8d1f\u8f7d\u6392\u5e8f<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        process_list.sort(key=process_sort, reverse=True)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    for i in process_list:<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">        result.append({'PID': i[0], 'name': i[1], 'cpu': i[2], 'mem': \"%.2f%%\"%i[3], 'ctime': i[4]})<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return jsonify({'list', result})<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def process_sort(elem):<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return elem[3]<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">@app.route(\"\/process\")<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def get_process_tab():<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    c = process()<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return c<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\"><br \/><\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">@app.route(\"\/delprocess\")<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">def del_process():<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    pid = request.args.get(\"pid\")<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    os.kill(int(pid), signal.SIGKILL)<\/span><\/code><code style=\"border-radius: 0px; white-space: pre; display: flex; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\"><span class=\"code-snippet_outer\" style=\"line-height: 26px;\">    return jsonify({'status': 'OK'})<\/span><\/code><\/pre>\n<\/section>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u793a\u4f8b\u7ed3\u679c<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"rich_pages js_insertlocalimg\" title=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" src=\"http:\/\/www.zhushiyao.com\/wp-content\/uploads\/2020\/05\/4-1588841129.gif\" alt=\"Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\" \/><\/p>\n<figure style=\"margin-top: 10px; margin-bottom: 10px;\">\n<figcaption style=\"margin-top: 5px; text-align: center; color: #888888; font-size: 14px;\">process.gif<\/figcaption>\n<\/figure>\n<h3 style=\"font-size: 20px; margin-top: 1.2em; margin-bottom: 1em; font-weight: bold; color: #35b378;\">\u603b\u7ed3<\/h3>\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; margin: 1em 4px;\">\u672c\u6587\u4ee5 Psutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u4e00\u4e2a\u7b80\u5355\u7684\u7cfb\u7edf\u76d1\u63a7\u5e73\u53f0\uff0c\u53ef\u4ee5\u7b97\u505a\u662f\u672c\u516c\u4f17\u53f7\u5185\u5bb9\u7684\u4e00\u4e2a\u5b66\u4ee5\u81f4\u7528\u3002\u5728 Psutil \u8fd8\u6709\u8bb8\u591a\u65b9\u6cd5\u6587\u7ae0\u6ca1\u6709\u5217\u4e3e\u611f\u5174\u8da3\u7684\u5c0f\u4f19\u4f34\u53ef\u4ee5\u53bb\u5c1d\u8bd5\u5e76\u4f7f\u7528\u3002<\/p>\n<\/section>\n<section style=\"max-width: 100%; font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif; letter-spacing: 0.544px; white-space: normal; background-color: #ffffff; box-sizing: border-box !important; overflow-wrap: break-word !important;\">\n<section style=\"padding-right: 0.5em; padding-left: 0.5em; white-space: normal; max-width: 100%; letter-spacing: 0.544px; text-size-adjust: auto; background-color: #ffffff; color: #3e3e3e; font-family: \u5fae\u8f6f\u96c5\u9ed1; font-size: 16px; box-sizing: border-box !important; overflow-wrap: break-word !important;\">\n<section style=\"max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; border: 0px none initial;\">\n<section style=\"padding: 5px; max-width: 100%; background-color: rgba(199, 240, 246, 0.173); color: #387ead; border-radius: 10px; box-sizing: border-box !important; overflow-wrap: break-word !important;\">\n<section style=\"max-width: 100%; border-style: dashed dashed none; border-width: 2px; border-color: #797880; box-sizing: border-box !important; overflow-wrap: break-word !important;\">\n<section style=\"padding: 1em 0.8em; max-width: 100%; letter-spacing: 1.5px; color: #3f3f3f; font-size: 14px; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\">\n<section style=\"max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><\/section>\n<\/section>\n<\/section>\n<\/section>\n<\/section>\n<\/section>\n<\/section>\n<\/div>\n\n\n<p>\u8f6c\u81ea\uff1ahttps:\/\/mp.weixin.qq.com\/s\/RLTZrS6YMhV2Y5KyZRhcqQ<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 \u6587 |\u00a0\u67d0\u67d0\u767d\u7c73\u996d \u6765\u6e90\uff1aPython \u6280\u672f\u300cID: pythonall\u300d psutil \u662f\u4e00\u4e2a\u8de8\u5e73\u53f0\u5e93\uff08 &hellip; <a href=\"http:\/\/www.zhushiyao.com\/?p=24605\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u201cPsutil + Flask + Pyecharts + Bootstrap \u5f00\u53d1\u52a8\u6001\u53ef\u89c6\u5316\u7cfb\u7edf\u76d1\u63a7\u201d<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[8],"_links":{"self":[{"href":"http:\/\/www.zhushiyao.com\/index.php?rest_route=\/wp\/v2\/posts\/24605"}],"collection":[{"href":"http:\/\/www.zhushiyao.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.zhushiyao.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.zhushiyao.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.zhushiyao.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=24605"}],"version-history":[{"count":3,"href":"http:\/\/www.zhushiyao.com\/index.php?rest_route=\/wp\/v2\/posts\/24605\/revisions"}],"predecessor-version":[{"id":24621,"href":"http:\/\/www.zhushiyao.com\/index.php?rest_route=\/wp\/v2\/posts\/24605\/revisions\/24621"}],"wp:attachment":[{"href":"http:\/\/www.zhushiyao.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=24605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.zhushiyao.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=24605"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.zhushiyao.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=24605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}