返回顶部
首页 > 资讯 > 后端开发 > Python >怎么使用python获取cpu每秒的使用率
  • 886
分享到

怎么使用python获取cpu每秒的使用率

2023-06-30 13:06:28 886人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

今天小编给大家分享一下怎么使用python获取cpu每秒的使用率的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。获取cpu每秒

今天小编给大家分享一下怎么使用python获取cpu每秒的使用率的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

获取cpu每秒的使用率

要求

请获取某段时间的cpu的占有率,以持久化形式保存。

代码:

import psutilimport time# cpu_res = psutil.cpu_percent()# print(cpu_res)# 每一秒获取获取cpu的占有率 --->持久化保存# 如何将时间和对应的cpu占有率去匹配while True:    # 获取当前时间和cpu的占有率    t = time.localtime()    cpu_time = '%d:%d:%d' % (t.tm_hour, t.tm_min, t.tm_sec)    cpu_res = psutil.cpu_percent()    print(cpu_res)    # 保存在文件中    with open('cpu.txt', 'a+') as f:        f.write('%s %s \n' % (cpu_time, cpu_res))    time.sleep(1)

psutil模块表示获取本机的硬件信息

psutil.cpu_percent表示获取cpu的占有率

用元组时间可以准确获取自己想获得的时、分、秒

将时间——>cpu占有率写入文件cpu.txt中。

time.sleep(1) 表示休眠时间,等待1秒再执行。

输出结果:

怎么使用python获取cpu每秒的使用率

在cpu.txt文件中

怎么使用python获取cpu每秒的使用率

Python充分利用cpu

当利用python处理大规模数据或者运行一些耗时较长的程序时,往往会发现程序运行时CPU并没有跑满,哪怕开了多线程后CPU利用率仍然不高。

这是因为在默认情况下,Python 程序是单个进程,使用单 CPU 核心执行,这意味着多核处理器只使用了一个核。

「一核有难九核围观」意味着超过 50% 的算力都会被浪费。这篇文章将介绍如何解决这种情况。

线程无法增加cpu使用率的原因

GIL 的全程为 Global Interpreter Lock ,意即全局解释器

在 Python 语言的主流实现 CPython 中,GIL 是一个货真价实的全局线程锁,在解释器解释执行任何 Python 代码时,都需要先获得这把锁才行,在遇到 I/O 操作时会释放这把锁。

如果是纯计算的程序,没有 I/O 操作,解释器会每隔 100 次操作就释放这把锁,让别的线程有机会执行(这个次数可以通过 sys.setcheckinterval 来调整)。

所以虽然 CPython 的线程库直接封装操作系统的原生线程,但 CPython 进程做为一个整体,同一时间只会有一个获得了 GIL 的线程在跑,其它的线程都处于等待状态等着 GIL 的释放。

这就意味着哪怕开了多线程CPU使用率仍然不会很高。

如何充分使用多核跑程序

有三个办法

1. multiprocessing

multiprocessing 是多进程标准库,让多进程的 python 程序编写简化到类似多线程的程度,通过多进程的方式使用多个CPU核心。

2. C 语言扩展机制

如果不想用多进程这样重量级的解决方案,可以改用 C/C++。当然,你也不用做的这么绝,只需要把关键部分用 C/c++ 写成 Python 扩展,其它部分还是用 Python 来写,让 Python 的归 Python,C 的归 C。一般计算密集性的程序都会用 C 代码编写并通过扩展的方式集成到 Python 脚本里(如 NumPy 模块)。这样在扩展里就完全可以用 C 创建原生线程,就可以充分利用 CPU 的计算资源了。

3. ctypes

不过,写 Python 扩展总是让人觉得很复杂。好在 Python 还有另一种与 C 模块进行互通的机制 : ctypes。ctypes 与 Python 扩展不同,它可以让 Python 直接调用任意的 C 动态库的导出函数。你所要做的只是用 ctypes 写些 python 代码即可。

以上就是“怎么使用python获取cpu每秒的使用率”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网Python频道。

--结束END--

本文标题: 怎么使用python获取cpu每秒的使用率

本文链接: https://www.lsjlt.com/news/329439.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么使用python获取cpu每秒的使用率
    今天小编给大家分享一下怎么使用python获取cpu每秒的使用率的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。获取cpu每秒...
    99+
    2023-06-30
  • 使用python获取cpu每秒的使用率
    目录获取cpu每秒的使用率要求在cpu.txt文件中python充分利用cpu多线程无法增加cpu使用率的原因如何充分使用多核跑程序1. multiprocessing2. C 语言...
    99+
    2024-04-02
  • VBS中怎么利用WMI获取CPU使用率
    本篇文章为大家展示了VBS中怎么利用WMI获取CPU使用率,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。代码如下:On Error Resume Next strComputer = "....
    99+
    2023-06-08
  • VBScript中如何获取CPU使用率
    本篇文章给大家分享的是有关VBScript中如何获取CPU使用率,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。VBScript通过WMI获取CPU使用率的代码On E...
    99+
    2023-06-08
  • 在NET Core 中获取 CPU 使用率
    以下文章来源于微信公众号DotNetCore实战  在 .NET Framework 中,很多人会用 PerformanceCounter 类做这件事情, 如下代码:   ...
    99+
    2024-04-02
  • php获取cpu使用率、硬盘使用、内存使用
    cpu 使用率 代码实现: 结果显示: array(1) { [0]=> string(4) "35.0"}array(1) { ["cpu"]=> float(65)} ...
    99+
    2023-09-04
    服务器 linux 运维
  • Linux中怎么获取cpu利用率
    今天就跟大家聊聊有关Linux中怎么获取cpu利用率,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、从/proc文件系统获取相关的性能参数cpu使用率: /proc/stat内存使...
    99+
    2023-06-16
  • 如何在NET Core中获取CPU使用率
    这篇文章主要介绍“如何在NET Core中获取CPU使用率”,在日常操作中,相信很多人在如何在NET Core中获取CPU使用率问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在NET&...
    99+
    2023-06-26
  • 怎么使用shell获取进程名的内存及CPU利用率
    这篇文章主要介绍“怎么使用shell获取进程名的内存及CPU利用率”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用shell获取进程名的内存及CPU利用率”文章能帮助大家解决问题。原理:1)使...
    99+
    2023-06-30
  • 使用Python脚本获取CPU温度
    不同的linux发行版可能获取CPU温度文件的目录不所不同,可自行百度。 # fedora filepath :'/sys/class/hwmon/hwmon0/device/hwmon/hwmon0/temp2_input' #...
    99+
    2023-01-31
    脚本 温度 Python
  • CentOS下如何查看每个CPU的使用率
    本篇内容介绍了“CentOS下如何查看每个CPU的使用率”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. Linux下,如何看每个CPU的...
    99+
    2023-06-10
  • cpu使用率100怎么办
    当CPU使用率达到100%时,表示CPU正在全力运行,无法再处理其他任务。以下是一些可能的解决方法:1. 关闭或退出一些正在运行的程...
    99+
    2023-08-24
    cpu
  • python如何通过psutil获取服务器cpu、内存、磁盘使用率
    psutil是一个跨平台的Python库,它允许你获取有关系统进程和系统资源使用情况的信息。它支持Windows、Linux、OS X、FreeBSD、OpenBSD和NetBSD等...
    99+
    2023-05-17
    python使用psutil获取服务器cpu python使用psutil
  • centos怎么查看cpu使用率
    centos中查看cpu使用率的方法:1、打开centos终端;2、在命令行中输入“top”命令查看cpu使用率即可。具体操作步骤:在centos系统桌面中使用快捷键【Ctrl+Alt+T】打开终端命令行模式。在centos终端命令行中输入...
    99+
    2024-04-02
  • windows cpu使用率怎么查看
    要查看Windows CPU使用率,可以按照以下步骤进行操作:1. 打开任务管理器:可以通过按下"Ctrl + Shift + Es...
    99+
    2023-10-10
    windows
  • linux怎么计算cpu使用率
    在Linux系统中,可以使用命令行工具来计算CPU的使用率。1. 使用top命令:打开终端,输入top命令,然后按下“1”键,可以显...
    99+
    2023-08-30
    linux
  • 如何使用shell获取进程名的内存以及CPU利用率
    目录原理:在ubuntu18.04和centos7.9测试:使用方法:总结原理: 1)使用ps得到进程名的所有进程pid ps -C process_name -o pid= 2) 使用 /proc/$pid/sta...
    99+
    2022-06-05
    shell 获取进程号 linux 获取进程内存 shell脚本获取cpu使用率
  • java中怎么计算cpu使用率
    本篇文章给大家分享的是有关java中怎么计算cpu使用率,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。/proc/stat 文件内容:[root@Shentar ~]...
    99+
    2023-06-17
  • 电脑cpu使用率100怎么办
    当电脑的CPU使用率达到100%时,可能会导致电脑运行缓慢甚至出现卡顿情况。以下是一些可能的解决方法:1. 关闭不必要的程序:打开任...
    99+
    2023-08-23
    电脑
  • linux使用管道命令执行ps获取cpu与内存占用率
    #include <stdio.h>#include <unistd.h>int main(){ char caStdOutLine[1024]; // ps 命令的标准输出...
    99+
    2022-06-04
    管道 命令 内存
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作