基於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其它相關文章!

推薦閱讀: