欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Python實現(xiàn)實時監(jiān)控CPU使用率

 更新時間:2022年04月19日 08:25:53   作者:木木子學(xué)python  
這篇文章主要為大家介紹了一款手寫編程代碼的小腳本,能夠輕松在界面上展示:利用Python實時監(jiān)控CPU使用率,隨時展現(xiàn)。也無需下載管理軟件,感興趣的可以了解一下

導(dǎo)語

哈嘍!大家好,我是木木子!準(zhǔn)時上線給大家更新啦!?

Ps:小故事

前兩天有位粉絲朋友在群里問我說,有沒有不裝一些我們熟知的電腦管理軟件但是依然可以查看CPU的使用率方法,或者能夠介紹一款比較給力的小插件也好。確實,在生活中有不少人是不喜歡裝那些管理軟件的。

今天,木木子就給大家介紹一款手寫編程代碼的小腳本,能夠輕松在界面上展示:利用Python實時監(jiān)控CPU使用率,隨時展現(xiàn)。也無需下載管理軟件,幾十行代碼即可搞定~

一、模塊簡介

1.0 關(guān)于模塊的詳細(xì)用法參考

psutil文檔

matplotlib文檔

1.1 用到psutil模塊

小介紹:

psutil是一個跨平臺庫(code.google.com/p/psutil/)

括CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等)信息。它主要應(yīng)用于系統(tǒng)監(jiān)控,分析和限制系統(tǒng)資源及進(jìn)程的管理。

它實現(xiàn)了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、

iostat、iotop、uptime、pidof、tty、taskset、pmap等。

目前支持32位和64位的Linux、Windows、OS X、FreeBSD和Sun Solaris等操作系統(tǒng)。

1.2 用到matplotlib模塊

小介紹:

Matplotlib 是一個 Python 的 2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質(zhì)量級別的圖形。

通過 Matplotlib,開發(fā)者可以僅需要幾行代碼,便可以生成繪圖,直方圖,功率譜,條形圖,錯誤圖,散點圖等。

二、準(zhǔn)備中

2.1 相關(guān)環(huán)境

**Python3.6、Pycharm。****相關(guān)模塊:**matplotlib模塊;psutil模塊。

2.2 安裝

這里小編統(tǒng)一使用:pip install -i pypi.douban.com/simple/+模塊名

三、開始敲代碼

3.1 代碼內(nèi)容

利用Python實時監(jiān)控CPU使用率:

  • 執(zhí)行用戶進(jìn)程
  • 執(zhí)行內(nèi)核進(jìn)程和中斷
  • CPU處于空閑狀態(tài)

主要是這三個方面的代碼編寫過程。

3.2 附完整代碼

import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
import psutil as p


POINTS = 300
fig, ax = plt.subplots()
ax.set_ylim([0, 100])
ax.set_xlim([0, POINTS])
ax.set_autoscale_on(False)
ax.set_xticks([])
ax.set_yticks(range(0, 101, 10))
ax.grid(True)
# 執(zhí)行用戶進(jìn)程的時間百分比
user = [None] * POINT
# 執(zhí)行內(nèi)核進(jìn)程和中斷的時間百分比
sys = [None] * POINT
# CPU處于空閑狀態(tài)的時間百分比
idle = [None] * POINT
l_user, = ax.plot(range(POINTS), user, label='User %')
l_sys, = ax.plot(range(POINTS), sys, label='Sys %')
l_idle, = ax.plot(range(POINTS), idle, label='Idle %')
ax.legend(loc='upper center', ncol=4, prop=font_manager.FontProperties(size=10))
bg = fig.canvas.copy_from_bbox(ax.bbox)


def cpu_usage():
	t = p.cpu_times()
	return [t.user, t.system, t.idle]


before = cpu_usage()


def get_cpu_usage():
	global before
	now = cpu_usage()
	delta = [now[i] - before[i] for i in range(len(now))]
	total = sum(delta)
	before = now
	return [(100.0*dt)/(total+0.1) for dt in delta]


def OnTimer(ax):
	global user, sys, idle, bg
	tmp = get_cpu_usage()
	user = user[1:] + [tmp[0]]
	sys = sys[1:] + [tmp[1]]
	idle = idle[1:] + [tmp[2]]
	l_user.set_ydata(user)
	l_sys.set_ydata(sys)
	l_idle.set_ydata(idle)
	while True:
		try:
			ax.draw_artist(l_user)
			ax.draw_artist(l_sys)
			ax.draw_artist(l_idle)
			break
		except:
			pass
	ax.figure.canvas.draw()


def start_monitor():
	timer = fig.canvas.new_timer(interval=100)
	timer.add_callback(OnTimer, ax)
	timer.start()
	plt.show()


if __name__ == '__main__':
	start_monitor()

四、效果展示

靜態(tài)截圖展示——

到此這篇關(guān)于基于Python實現(xiàn)實時監(jiān)控CPU使用率的文章就介紹到這了,更多相關(guān)Python監(jiān)控CPU內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python多個MP4合成視頻的實現(xiàn)方法

    Python多個MP4合成視頻的實現(xiàn)方法

    最近接觸了個項目,需要把多個文件合成一個視頻,本文主要使用Python把多個MP4合成視頻,感興趣的可以了解一下
    2021-07-07
  • miniconda3介紹、安裝以及使用教程

    miniconda3介紹、安裝以及使用教程

    Miniconda是一款小巧的python環(huán)境管理工具,安裝包大約只有50M多點,其安裝程序中包含conda軟件包管理器和Python,下面這篇文章主要給大家介紹了關(guān)于miniconda3介紹、安裝以及使用的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • python將天數(shù)轉(zhuǎn)換為日期字符串的方法實例

    python將天數(shù)轉(zhuǎn)換為日期字符串的方法實例

    這篇文章主要給大家介紹了關(guān)于python將天數(shù)轉(zhuǎn)換為日期字符串的相關(guān)資料,以及將將字符串的時間轉(zhuǎn)換為時間戳的實例代碼,需要的朋友可以參考下
    2022-01-01
  • python 實時得到cpu和內(nèi)存的使用情況方法

    python 實時得到cpu和內(nèi)存的使用情況方法

    今天小編就為大家分享一篇python 實時得到cpu和內(nèi)存的使用情況方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python PyQt5實現(xiàn)拖放效果的原理詳解

    Python PyQt5實現(xiàn)拖放效果的原理詳解

    這篇文章主要為大家詳細(xì)介紹了Python PyQt5中拖放效果的實現(xiàn)原理與實現(xiàn)代碼,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-11-11
  • python使用PyGame實現(xiàn)打磚塊游戲

    python使用PyGame實現(xiàn)打磚塊游戲

    打磚塊也是一個非常經(jīng)典的小游戲,玩法大致如下,用一個小車接一個小球,然后反射小球,使之打在磚塊上,當(dāng)小球碰到磚塊之后,則磚塊被消掉,邏輯十分清晰,本文將給大家介紹了python使用PyGame實現(xiàn)打磚塊游戲,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12
  • python不等于運(yùn)算符的具體使用

    python不等于運(yùn)算符的具體使用

    在Python語言中,用 != 表示不等于,本文主要介紹了python不等于運(yùn)算符的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • django寫單元測試的方法

    django寫單元測試的方法

    這篇文章主要介紹了django寫單元測試的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Python使用Rich?type和TinyDB構(gòu)建聯(lián)系人通訊錄

    Python使用Rich?type和TinyDB構(gòu)建聯(lián)系人通訊錄

    這篇文章主要為大家介紹了Python使用Rich?type和TinyDB構(gòu)建聯(lián)系人通訊錄應(yīng)用程序,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Python實現(xiàn)自動填寫腳本流程詳解

    Python實現(xiàn)自動填寫腳本流程詳解

    這篇文章主要介紹了Python實現(xiàn)自動填寫腳本,100%準(zhǔn)確率,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-10-10

最新評論