基於Python編寫一個監控CPU的應用系統
導語
哈嘍!我是木木子,最近好懶瞭哈天氣太熱瞭.jpg
有時間給大傢更新一下下啦!今日上線——跟這這篇文章寫姐妹篇哈~
基於Python實現實時監控CPU使用率
在使用 Mac 電腦辦公時,有時候不知道哪些軟件或進程會占用大量的資源,導致進行其他任務時出現變慢、卡頓等現象。因此,實時監控系統的資源就變得非常重要。
但是市面上的系統監控軟件琳瑯滿目,種類繁多,哪款監控軟件最好?
今天小編給大傢介紹一款超好用的Mac 監控軟件奔跑的貓貓,希望可以對你的選擇有所幫助。
嗯哼~win10電腦表示不服,Mac能有的,我也不能少,SO 一款治愈系的貓咪監控小程序就做出來啦
一、簡介
1.1 軟件介紹
用過Mac的可能知道這麼一款軟件:RunCat。
這是一款治愈系的 Mac 系統監控軟件,它可以以動畫的形式駐留在你的系統狀態欄裡。
貓貓可以通過運行速度告訴你 Mac 的 CPU 使用率。而且 RunCat 為菜單欄提供瞭關鍵幀動畫,動畫根據 Mac 的 CPU 使用情況改變速度。
當然 RunCat 不隻有貓,還有很多動物和動畫,比如:
貓 🐱—狗 🐶—獵豹 🐆—兔子 🐰—海豚 🐬—青蛙 🐸—鳥 🐦—企鵝 🐧—很長的龍 🐲—齒輪 ⚙️—火 🔥—水滴 💧—火箭 🚀—環 ⭕️——等等。
這應用就功能來說確實不夠有優勢,但是架不住它好玩啊。哈哈 小編就喜歡給大傢介紹一些好玩兒的東西嘛~
另外它自帶的免費動畫很多,一般來說還是夠用的。RunCat 是款更適合無聊發呆時治愈打發時間的軟件哦!
二、準備中
2.0 原理簡介
原理其實很簡單,利用python的psutil包就可以輕松地獲取當前電腦的CPU利用率或者運行內存利用率。然後根據利用率來決定托盤圖標的更新頻率就好啦。
然後通過循環設置5個不同狀態的icon來實現貓貓跑動的效果,有興趣的小夥伴可以制作自己喜歡
的動畫然後替換掉我找到的就OK啦~
2.1 環境安裝
Python3、Pycharm。相關模塊:psutil模塊;以及一些python自帶的模塊。
模塊安裝統一使用豆瓣鏡像源:
pip install -i https://pypi.douban.com/simple/ +模塊名
2.2 素材準備(可修改)
貓貓可以通過運行速度告訴你 Mac 的 CPU 使用率,主要也是貓貓做的小腳本哈,其他的動物可以自己嘗試做啦~
三、開始敲代碼
3.1 導入模塊
import sys import time import psutil from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QApplication, QSystemTrayIcon
3.2 奔跑的貓-CPU
def runcatCPU(): app = QApplication(sys.argv) # 最後一個可視的窗口退出時程序不退出 app.setQuitOnLastWindowClosed(False) icon = QSystemTrayIcon() icon.setIcon(QIcon('icons/0.png')) icon.setVisible(True) cpu_percent = psutil.cpu_percent(interval=1) / 100 cpu_percent_update_fps = 20 fps_count = 0 while True: fps_count += 1 if fps_count > cpu_percent_update_fps: cpu_percent = psutil.cpu_percent(interval=1) / 100 fps_count = 0 # 開口向上的拋物線, 左邊遞減 time_interval = (cpu_percent * cpu_percent - 2 * cpu_percent + 2) / 20 for i in range(5): icon.setIcon(QIcon('icons/%d.png' % i)) icon.setToolTip('cpu: %.2f' % cpu_percent) time.sleep(time_interval) app.exec_()
3.3 奔跑的貓-內存
def runcatMemory(): app = QApplication(sys.argv) # 最後一個可視的窗口退出時程序不退出 app.setQuitOnLastWindowClosed(False) icon = QSystemTrayIcon() icon.setIcon(QIcon('icons/0.png')) icon.setVisible(True) memory_percent = psutil.virtual_memory().percent / 100 memory_percent_update_fps = 20 fps_count = 0 while True: fps_count += 1 if fps_count > memory_percent_update_fps: memory_percent = psutil.virtual_memory().percent / 100 fps_count = 0 # 開口向上的拋物線, 左邊遞減 time_interval = (memory_percent * memory_percent - 2 * memory_percent + 2) / 20 for i in range(5): icon.setIcon(QIcon('icons/%d.png' % i)) icon.setToolTip('memory: %.2f' % memory_percent) time.sleep(time_interval) app.exec_()
四、效果展示
靜態截圖展示效果
以上就是基於Python編寫一個監控CPU的應用系統的詳細內容,更多關於Python監控CPU的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- python實現監控指定進程的cpu和內存使用率
- Python使用psutil庫對系統數據進行采集監控的方法
- python 監控某個進程內存的情況問題
- Python 如何查看程序內存占用情況
- Python使用psutil獲取系統信息