当前位置:首页 » 编程语言 » pythoncpu

pythoncpu

发布时间: 2022-01-27 11:51:55

① 怎么让python用多个cpu

python由于GIL的关系,python的多线程并没有发挥多核的作用,这些线程都是在在单核上跑的所以要想发挥多核的作用,就需要使用多进程,尽可能的在每一个CPU核心上分配到一个python进程。所以要想跑满多核CPU就得多进程多线程互相结合

② python 怎么获得cpu使用率

python获取代码:

#!/usr/bin/python

#-*-coding:utf8-*-
__author__='chenwx'

defcpu_rate():
importtime
defcpu_r():
f=open("/proc/stat","r")
forf_lineinf:
break
f.close()
f_line=f_line.split("")
f_line_a=[]
foriinf_line:
ifi.isdigit():
i=int(i)
f_line_a.append(i)
total=sum(f_line_a)
idle=f_line_a[3]
returntotal,idle

total_a,idle_a=cpu_r()
time.sleep(2)
total_b,idle_b=cpu_r()

sys_idle=idle_b-idle_a
sys_total=total_b-total_a
sys_us=sys_total-sys_idle

cpu_a=(float(sys_us)/sys_total)*100
returncpu_a

#printcpu_rate()

③ python如何利用多核cpu

Python,想利用多核CPU,那么就应该进行处理,这样才行的利用,所以一定要研究透彻

④ python延时循环执行导致cpu消耗多过能解决么

可以不用一直保持此程序运行啊,
Linux的话可以用低消耗的crontab 来自定义时间执行此python命令即可。
提供个思路,可以使用python的apscheler库。

⑤ python有没有可以获取每个cpu内核空闲率的

需要安装psutil库

importsys
importos

importatexit
importtime
importpsutil

#print"Welcome,currentsystemis",os.name,"3secondslatestarttogetdata..."
time.sleep(3)

line_num=1

#functionofGetCPUState;
defgetCPUstate(interval=1):
return("CPU:"+str(psutil.cpu_percent(interval))+"%")
#functionofGetMemory
defgetMemorystate():
phymem=psutil.virtual_memory()
line="Memory:%5s%%%6s/%s"%(
phymem.percent,
str(int(phymem.used/1024/1024))+"M",
str(int(phymem.total/1024/1024))+"M"
)
returnline
defbytes2human(n):
"""
>>>bytes2human(10000)
'9.8K'
>>>bytes2human(100001221)
'95.4M'
"""
symbols=('K','M','G','T','P','E','Z','Y')
prefix={}
fori,sinenumerate(symbols):
prefix[s]=1<<(i+1)*10
forsinreversed(symbols):
ifn>=prefix[s]:
value=float(n)/prefix[s]
return'%.2f%s'%(value,s)
return'%.2fB'%(n)


defpoll(interval):
"""."""
tot_before=psutil.net_io_counters()
pnic_before=psutil.net_io_counters(pernic=True)
#sleepsometime
time.sleep(interval)
tot_after=psutil.net_io_counters()
pnic_after=psutil.net_io_counters(pernic=True)
#getcpustate
cpu_state=getCPUstate(interval)
#getmemory
memory_state=getMemorystate()
return(tot_before,tot_after,pnic_before,pnic_after,cpu_state,memory_state)

defrefresh_window(tot_before,tot_after,pnic_before,pnic_after,cpu_state,memory_state):
ifos.name=='nt':
os.system("cls")
else:
os.system("clear")
"""Printstatsonscreen."""


#printcurrenttime#cpustate#memory
print(time.asctime()+"|"+cpu_state+"|"+memory_state)

#totals
print("NetStates:")
print("totalbytes:sent:%-10sreceived:%s"%(bytes2human(tot_after.bytes_sent),
bytes2human(tot_after.bytes_recv))
)
print("totalpackets:sent:%-10sreceived:%s"%(tot_after.packets_sent,
tot_after.packets_recv)
)
#per-networkinterfacedetails:let'ssortnetworkinterfacesso
#
print("")
nic_names=pnic_after.keys()
#nic_names.sort(key=lambdax:sum(pnic_after[x]),reverse=True)
fornameinnic_names:
stats_before=pnic_before[name]
stats_after=pnic_after[name]
templ="%-15s%15s%15s"
print(templ%(name,"TOTAL","PER-SEC"))
print(templ%(
"bytes-sent",
bytes2human(stats_after.bytes_sent),
bytes2human(stats_after.bytes_sent-stats_before.bytes_sent)+'/s',
))
print(templ%(
"bytes-recv",
bytes2human(stats_after.bytes_recv),
bytes2human(stats_after.bytes_recv-stats_before.bytes_recv)+'/s',
))
print(templ%(
"pkts-sent",
stats_after.packets_sent,
stats_after.packets_sent-stats_before.packets_sent,
))
print(templ%(
"pkts-recv",
stats_after.packets_recv,
stats_after.packets_recv-stats_before.packets_recv,
))
print("")

try:
interval=0
while1:
args=poll(interval)
refresh_window(*args)
interval=1
except(KeyboardInterrupt,SystemExit):
pass

⑥ Python 怎样获取当前计算机的 cpu,内存等信息

用psutil包

cpu:

>>>importpsutil
>>>psutil.cpu_times()
scputimes(user=3961.46,nice=169.729,system=2150.659,idle=16900.540,iowait=629.59,irq=0.0,softirq=19.42,steal=0.0,guest=0,nice=0.0)
>>>
>>>forxinrange(3):
...psutil.cpu_percent(interval=1)
...
4.0
5.9
3.8
>>>
>>>forxinrange(3):
...psutil.cpu_percent(interval=1,percpu=True)
...
[4.0,6.9,3.7,9.2]
[7.0,8.5,2.4,2.1]
[1.2,9.0,9.9,7.2]
>>>
>>>
>>>forxinrange(3):
...psutil.cpu_times_percent(interval=1,percpu=False)
...
scputimes(user=1.5,nice=0.0,system=0.5,idle=96.5,iowait=1.5,irq=0.0,softirq=0.0,steal=0.0,guest=0.0,guest_nice=0.0)
scputimes(user=1.0,nice=0.0,system=0.0,idle=99.0,iowait=0.0,irq=0.0,softirq=0.0,steal=0.0,guest=0.0,guest_nice=0.0)
scputimes(user=2.0,nice=0.0,system=0.0,idle=98.0,iowait=0.0,irq=0.0,softirq=0.0,steal=0.0,guest=0.0,guest_nice=0.0)
>>>
>>>psutil.cpu_count()
4
>>>psutil.cpu_count(logical=False)
2
>>>

内存:

>>>psutil.virtual_memory()
svmem(total=8374149120L,available=2081050624L,percent=75.1,used=8074080256L,free=300068864L,active=3294920704,inactive=1361616896,buffers=529895424L,cached=1251086336)
>>>psutil.swap_memory()
sswap(total=2097147904L,used=296128512L,free=1801019392L,percent=14.1,sin=304193536,sout=677842944)
>>>

⑦ 如何让一个Python的脚本跑满多核的CPU

python由于GIL的关系,python的多线程并没有发挥多核的作用,这些线程都是在在单核上跑的
所以要想发挥多核的作用,就需要使用多进程,尽可能的在每一个CPU核心上分配到一个python进程。
所以要想跑满多核CPU就得多进程多线程互相结合

⑧ 如何让python使用全部cpu

这是想python想占满cpu?上cython吧,或者开多进程,python不怎么占用CPU资源,做过一次curl压力测试,开了100多个才六七十左右,偶尔也会满了直接死机

热点内容
怎么设置登录局域网服务器凭据 发布:2024-11-16 09:49:46 浏览:538
闲置电脑家用下载服务器 发布:2024-11-16 09:48:28 浏览:750
java工程师面试问题 发布:2024-11-16 09:28:36 浏览:233
用什么引擎导出的安卓安装包不大 发布:2024-11-16 09:09:06 浏览:474
安卓手机如何设置转接 发布:2024-11-16 09:08:55 浏览:423
sql行业 发布:2024-11-16 09:04:07 浏览:295
如何查看电脑硬盘的接口速率缓存 发布:2024-11-16 08:59:42 浏览:221
c语言局部变量与全局变量 发布:2024-11-16 08:37:38 浏览:489
安卓苹果是什么意思啊 发布:2024-11-16 08:36:03 浏览:872
泛型方法编译 发布:2024-11-16 08:36:01 浏览:875