码迷,mamicode.com
首页 > 编程语言 > 详细

python多进程提高cpu利用率

时间:2016-06-17 16:58:34      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:

cpu参数:

1个物理cpu,2个逻辑cpu(超线程),单核 具体 http://blog.csdn.net/dba_waterbin/article/details/8644626   物理CPU、逻辑CPU和CPU核数

打包文件,单进程

# coding=utf-8

from multiprocessing import Process
import sys, os
import time

def timetask(times):
    cmd="tar zcfPh /data/nerri_%s.tar.gz   /data/backup" % times
    os.system(cmd)


def works_multi_process(func, worknum):
    proc_record = []
    for i in range(worknum):
        p = Process(target = func, args = (i,))
        p.start()
        proc_record.append(p)
    for p in proc_record:
        p.join()
        
def works_single_process(func, worknum):
    proc_record = []
    for i in range(worknum):
        p = Process(target = func, args = (i,))
        p.start()
        p.join()


    
if __name__ == __main__:
    print time.strftime(============start:%H%M%S==========)
    procs = 2
    works_multi_process(timetask,  procs)
    print time.strftime(============end:%H%M%S========)

运性结果:

单进程:

============start:154554==========
============end:154903===========

多进程:

============start:155513==========

============end:155627========

查看磁盘和cpu利用率:iostat -x 1 10

ps:

单进程占用cpu 90左右  平均cpu 45左右

多进程 进程数2  每个进程占用cpu 90左右  总的cpu 100左右

多进程 进程数3 一个进程占用cpu 90左右  另外两个进程占用cpu45左右  总的cpu 100左右

多进程 进程数4 每个进程占用cpu45左右  总的cpu 100左右

 系统的线程调度。即使是单线程,在不同的时间片,也有可能被调度到不同的核。可以控制在哪个核上运行~

python多进程提高cpu利用率

标签:

原文地址:http://www.cnblogs.com/nerrissa/p/5594291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!