我是靠谱客的博主 文静白猫,最近开发中收集的这篇文章主要介绍python多进程提高cpu利用率,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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左右                                      磁盘io  %util:20左右

多进程 进程数2  每个进程占用cpu 90左右  平均cpu 100左右         磁盘io  %util:50+左右   变化幅度较大  20~70

多进程 进程数3 一个进程占用cpu 90左右  另外两个进程占用cpu45左右  平均cpu 100左右   磁盘io  %util:50+左右   变化幅度较大

多进程 进程数4 每个进程占用cpu45左右  平均cpu 100左右   磁盘io  %util:35%左右        磁盘io  %util:50+左右   变化幅度较大

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

转载于:https://www.cnblogs.com/nerrissa/p/5594291.html

最后

以上就是文静白猫为你收集整理的python多进程提高cpu利用率的全部内容,希望文章能够帮你解决python多进程提高cpu利用率所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部