python和bash統(tǒng)計CPU利用率的方法
本文實例講述了python和bash統(tǒng)計CPU利用率的方法。分享給大家供大家參考。具體如下:
開始的時候?qū)懥艘粋€ bash 的實現(xiàn);
因為最近也在學(xué)習(xí) python ,所以就嘗試著用 python 再實現(xiàn)一回;
支援 python2 環(huán)境;
請各位給予下建議,有什么改良的地方可以提一下,不甚感激;
Python代碼如下:
#!/usr/bin/python # -*- coding:utf8 -*- __author__ = 'chenwx' def cpu_rate(): import time def cpu_r(): f = open("/proc/stat","r") for f_line in f: break f.close() f_line = f_line.split(" ") f_line_a=[] for i in f_line: if i.isdigit(): i=int(i) f_line_a.append(i) total = sum(f_line_a) idle = f_line_a[3] return total,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 return cpu_a # print cpu_rate()
bash的實現(xiàn)方式:
#!/bin/bash # 感覺計算數(shù)組這里應(yīng)該還有辦法簡化的吧; # 我一時沒想到,請大家提一下建議,多謝; cpu_a=(`grep 'cpu ' /proc/stat`) total_a=$((${cpu_a[1]}+${cpu_a[2]}+${cpu_a[3]}+${cpu_a[4]}+${cpu_a[5]}+${cpu_a[6]}+${cpu_a[7]}+${cpu_a[8]}+${cpu_a[9]})) idle_a=${cpu_a[4]} sleep 5 cpu_b=(`grep 'cpu ' /proc/stat`) total_b=$((${cpu_b[1]}+${cpu_b[2]}+${cpu_b[3]}+${cpu_b[4]}+${cpu_b[5]}+${cpu_b[6]}+${cpu_b[7]}+${cpu_b[8]}+${cpu_b[9]})) idle_b=${cpu_b[4]} sys_idle=$(($idle_b-$idle_a)) sys_total=$(($total_b-$total_a)) sys_us=$(($sys_total-$sys_idle)) echo "scale=2;$sys_us/$sys_total*100" | bc
遍歷數(shù)組的方法:
# 找到了解決數(shù)組計算的辦法了,不過感覺for循環(huán)計算的方式還是有些繁瑣; # 不知道有沒有那種對數(shù)組內(nèi)所有值一并計算的方法; cpu_rate_a () { cpu_a=(`grep 'cpu ' /proc/stat`) for i in ${cpu_a[@]:1} do total_a=$(($total_a+$i)) done idle_a=${cpu_a[4]} sleep 5 cpu_b=(`grep 'cpu ' /proc/stat`) for i in ${cpu_b[@]:1} do total_b=$(($total_b+$i)) done idle_b=${cpu_b[4]} sys_idle=$(($idle_b-$idle_a)) sys_total=$(($total_b-$total_a)) sys_us=$(($sys_total-$sys_idle)) local_cpu_rate=$(echo "scale=2;$sys_us/$sys_total*100" | bc) }
希望本文所述對大家的Python程序設(shè)計有所幫助。
- Python3 執(zhí)行Linux Bash命令的方法
- python 捕獲 shell/bash 腳本的輸出結(jié)果實例
- 使用Python腳本在Linux下實現(xiàn)部分Bash Shell的教程
- bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory
- Python遠程linux執(zhí)行命令實現(xiàn)
- 如何把python項目部署到linux服務(wù)器
- Linux安裝Python3如何和系統(tǒng)自帶的Python2并存
- Linux刪除系統(tǒng)自帶版本Python過程詳解
- windows、linux下打包Python3程序詳細方法
- Python和Bash結(jié)合在一起的方法
相關(guān)文章
Python實現(xiàn)Web服務(wù)器FastAPI的步驟詳解
FastAPI?是一個用于構(gòu)建?API?的現(xiàn)代、快速(高性能)的?web?框架,使用?Python?3.6+?并基于標準的?Python類型提示,這篇文章主要介紹了Python實現(xiàn)Web服務(wù)器FastAPI的過程,需要的朋友可以參考下2022-06-06Python動態(tài)演示旋轉(zhuǎn)矩陣的作用詳解
一個矩陣我們想讓它通過編程,實現(xiàn)各種花樣的變化怎么辦呢?下面這篇文章主要給大家介紹了關(guān)于Python動態(tài)演示旋轉(zhuǎn)矩陣的作用,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-12-12python Stanza處理NLP任務(wù)使用詳解(多語言處理工具)
這篇文章主要為大家介紹了python Stanza處理NLP任務(wù)使用詳解,多語言處理工具使用實例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01Ubuntu16安裝Python3.9的實現(xiàn)步驟
這篇文章主要介紹了Ubuntu16安裝Python3.9的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12python pandas輕松通過特定列的值多條件去篩選數(shù)據(jù)及contains方法的使用
這篇文章主要介紹了python pandas輕松通過特定列的值多條件去篩選數(shù)據(jù)及contains方法的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02pytorch 6 batch_train 批訓(xùn)練操作
這篇文章主要介紹了pytorch 6 batch_train 批訓(xùn)練操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05卷積神經(jīng)網(wǎng)絡(luò)如何實現(xiàn)提取特征
這篇文章主要介紹了卷積神經(jīng)網(wǎng)絡(luò)如何實現(xiàn)提取特征問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04