cpu参数:
打包文件,单进程
#coding=utf-8
from multiprocessing importProcessimportsys, osimporttimedeftimetask(times):
cmd="tar zcfPh /data/nerri_%s.tar.gz /data/backup" %times
os.system(cmd)defworks_multi_process(func, worknum):
proc_record=[]for i inrange(worknum):
p= Process(target = func, args =(i,))
p.start()
proc_record.append(p)for p inproc_record:
p.join()defworks_single_process(func, worknum):
proc_record=[]for i inrange(worknum):
p= Process(target = func, args =(i,))
p.start()
p.join()if __name__ == ‘__main__‘:print time.strftime(‘============start:%H%M%S==========‘)
procs= 2works_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左右
系统的线程调度。即使是单线程,在不同的时间片,也有可能被调度到不同的核。可以控制在哪个核上运行~
原文:http://www.cnblogs.com/nerrissa/p/5594291.html