{"id":1926,"date":"2021-09-28T17:08:43","date_gmt":"2021-09-28T09:08:43","guid":{"rendered":"https:\/\/199604.com\/?p=1926"},"modified":"2021-09-28T17:08:43","modified_gmt":"2021-09-28T09:08:43","slug":"python%e8%84%9a%e6%9c%ac%e6%8f%90%e9%ab%98cpu%e5%92%8c%e5%86%85%e5%ad%98%e5%8d%a0%e7%94%a8%e7%8e%87","status":"publish","type":"post","link":"https:\/\/199604.com\/1926","title":{"rendered":"python\u811a\u672c\u63d0\u9ad8CPU\u548c\u5185\u5b58\u5360\u7528\u7387"},"content":{"rendered":"<p>\u76f4\u63a5\u4e0a\u811a\u672c<\/p>\n<pre><code class=\"language-python line-numbers\">#!\/usr\/bin\/python\n# -*- coding: utf-8 -*-\n\n\"\"\"\nruning.py -c 2 -t 0.01 -m 1000\n-c cpu\u6838\u6570\uff0c\u4e0d\u52a0-c\u53c2\u6570\u4e3a\u6700\u5927\u6838\u6570\n-t cpu\u8fd0\u7b97\u9891\u7387\u65f6\u95f4\uff0c\u95f4\u9694\uff0c\u8d8a\u5c0f\u5360\u7528\u8d8a\u9ad8\n-m \u5185\u5b58\u5360\u7528\uff0c1000MB\n\"\"\"\nimport sys\nimport time\nfrom time import clock\nimport argparse\nfrom multiprocessing import Process\nfrom multiprocessing import cpu_count\nimport math\n# import tempfile\n\n# # \u5c4f\u853d Traceback\u4fe1\u606f\n# sys.stderr=tempfile.TemporaryFile()\n\n\ndef exec_func(bt):\n\n    while True:\n        for i in range(0, 9600000):\n            pass\n        time.sleep(bt)\n\n\nif __name__ == \"__main__\":\n\n    parse = argparse.ArgumentParser(description='runing')\n\n    parse.add_argument(\n        \"-c\",\n        \"--count\",\n        default= cpu_count(),\n        help='cpu count'\n        )\n\n    parse.add_argument(\n        \"-t\",\n        \"--time\",\n        default= 0.01,\n        help='cpu time'\n        )\n    parse.add_argument(\n        \"-m\",\n        \"--memory\",\n        default= 1000,\n        help='memory'\n        )\n\n\n    args = parse.parse_args()\n\n    cpu_logical_count = int(args.count)\n\n    cpu_sleep_time = args.time\n\n    memory_used_mb = int(args.memory)\n\n    try:\n        cpu_sleep_time = int(args.time)\n    except ValueError:\n        try:\n            cpu_sleep_time = float(args.time)\n        except ValueError as ex:\n            raise ValueError(ex)\n\n    _doc = \"\"\"\n            runing.py -c 2 -t 0.01 -m 1000\n            -c \u6307\u5b9acpu\u6838\u6570\uff0c\u4e0d\u52a0-c\u53c2\u6570\u9ed8\u8ba4\u4e3a\u5f53\u524dcpu\u6700\u5927\u6838\u6570\n            -t cpu\u8fd0\u7b97\u9891\u7387\u65f6\u95f4\uff0c\u95f4\u9694\uff0c\u8d8a\u5c0f\u5360\u7528\u8d8a\u9ad8\n            -m \u5185\u5b58\u5360\u7528\uff0c1000MB\n\n            CPU\u4f7f\u7528\u7387\u9700\u8981\u624b\u52a8\u589e\u52a0\u51cf\u5c11-t\u53c2\u6570\u6765\u8fbe\u5230\uff0c\u9884\u671f\u4f7f\u7528\u7387\u3002\n           \"\"\"\n    print(\"\\n====================\u4f7f\u7528\u8bf4\u660e=========================\")\n    print(\"{}\".format(_doc))\n    print(\"\\n====================================================\")\n    print('\\n\u5f53\u524d\u5360\u7528CPU\u6838\u6570:{}'.format(cpu_logical_count))\n    print('\\n\u5185\u5b58\u9884\u8ba1\u5360\u7528:{}MB'.format(memory_used_mb))\n    print('\\n\u8d44\u6e90\u6d6a\u8d39\u4e2d......')\n\n    try:\n        # \u5185\u5b58\u5360\u7528\n        s = ' ' * (memory_used_mb * 1024 * 1024)\n    except MemoryError:\n        print(\"\u5269\u4f59\u5185\u5b58\u4e0d\u8db3\uff0c\u5185\u5b58\u6709\u6ea2\u51fa......\")\n\n    try:\n\n        p = Process(target=exec_func, args=(\"bt\",))\n\n        ps_list = []\n\n        for i in range(0, cpu_logical_count):\n            ps_list.append(Process(target=exec_func, args=(cpu_sleep_time,)))\n\n        for p in ps_list:\n            p.start()\n\n        for p in ps_list:\n            p.join()\n\n    except KeyboardInterrupt:\n        print(\"\u8d44\u6e90\u6d6a\u8d39\u7ed3\u675f!\")\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u76f4\u63a5\u4e0a\u811a\u672c #!\/usr\/bin\/python # -*- coding: utf-8 -*- &#8220;&#8221;&#8221; run [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[279],"tags":[236],"class_list":["post-1926","post","type-post","status-publish","format-standard","hentry","category-pyhton","tag-python"],"_links":{"self":[{"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/posts\/1926","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/comments?post=1926"}],"version-history":[{"count":1,"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/posts\/1926\/revisions"}],"predecessor-version":[{"id":1927,"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/posts\/1926\/revisions\/1927"}],"wp:attachment":[{"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/media?parent=1926"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/categories?post=1926"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/tags?post=1926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}