cpu参数:
1个物理cpu,2个逻辑cpu(超线程),单核 具体 http://blog.****.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+左右 变化幅度较大
系统的线程调度。即使是单线程,在不同的时间片,也有可能被调度到不同的核。可以控制在哪个核上运行~