最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

使用Python腳本監(jiān)測(cè)Raspberry Pi基本狀態(tài)

2021-02-04 19:53 作者:28283844972_bili  | 我要投稿

因?yàn)槲业臉漭山?jīng)常需要開啟著多項(xiàng)比較消耗資源的服務(wù),況且手頭上的樹莓派硬件資源比較吃緊,所以需要監(jiān)測(cè)基本狀態(tài)的頻率還是比較頻繁的。我本人最常使用的命令就是:

  1. uptime

  2. who

  3. free -h

  4. df -h /

  5. top

  6. ps

等等之類能夠監(jiān)測(cè)樹莓派當(dāng)前狀態(tài)的命令工具,(作為剛剛接觸樹莓派和Linux操作系統(tǒng)的小白,暫且先掌握這些命令吧,如果還有其他更加使用便捷、功能強(qiáng)大的命令工具,歡迎在評(píng)論區(qū)留言告訴我,互相交流學(xué)習(xí)經(jīng)驗(yàn)。)但是有時(shí)候分別執(zhí)行這些命令工具并不能很直觀地集中展示樹莓派當(dāng)前狀態(tài)信息,而且有些結(jié)果并不是我真正需要的。

“這還不簡(jiǎn)單嗎?寫一個(gè)這樣的shell腳本就完事了[doge]”,想要省時(shí)省力的朋友是這么想的。

嘿,你可真是個(gè)小天才呢?!

啊這,要不你試著在命令行環(huán)境下執(zhí)行一下?[doge]

復(fù)雜的shell腳本不會(huì)寫,更好用的工具還沒找到,只能求助上手比較簡(jiǎn)單的Python了,簡(jiǎn)簡(jiǎn)單單寫一個(gè)Python腳本應(yīng)付一下,我的小目標(biāo)是能夠監(jiān)測(cè)當(dāng)前和CPU、內(nèi)存、交換空間、閃存卡相關(guān)的狀態(tài)。有了需求,咳咳,接下來就是面向搜索引擎編程,參考了以下文獻(xiàn):

  1. 類似功能的Python代碼樣例:http://allstack.net/wordpress/post-3322.html

  2. awk命令工具入門教程:https://www.ruanyifeng.com/blog/2018/11/awk.html

  3. Python類型注解官方文檔:https://docs.python.org/zh-cn/3/library/typing.html

雖然已有的代碼樣例可以達(dá)到最終需求,但是還是不夠簡(jiǎn)單和優(yōu)化,所以我又狗尾續(xù)貂地根據(jù)基本原理調(diào)整了代碼。

獲取CPU當(dāng)前溫度,本著能不使用模擬shell執(zhí)行環(huán)境的os.popen工具就不使用的原則,查閱樹莓派官方幫助文檔,找到了記錄CPU當(dāng)前溫度的文件,那就使用IO讀寫完成獲取CPU溫度的目標(biāo)吧,單位攝氏度:

注意獲取到的原始數(shù)據(jù)格式

獲取CPU當(dāng)前時(shí)鐘頻率,os.popen工具實(shí)在太香了,雖然效率并不高(但是都已經(jīng)到了用Python編程的地步,能夠優(yōu)化的部分盡量?jī)?yōu)化),但是配合shell命令可以非常靈活的實(shí)現(xiàn)較為強(qiáng)大的功能,單位GHz:

注意獲取到的原始數(shù)據(jù)格式

獲取CPU當(dāng)前整體使用率,這里使用了曲線救國的方式獲取CPU整體使用率,查看top命令Cpu(s):有關(guān)CPU使用率信息的這一行可以發(fā)現(xiàn),使用率被分為用戶程序使用率、系統(tǒng)程序使用率以及IO操作使用率,只有閑置率是整體狀態(tài),索性利用閑置率比較簡(jiǎn)單的簡(jiǎn)介求得整體使用率:

注意獲取到的原始數(shù)據(jù)格式

獲取CPU平均負(fù)載率,依次分別是1min平均負(fù)載率,5min平均負(fù)載率,15min平均負(fù)載率:

注意獲取到的原始數(shù)據(jù)格式

獲取內(nèi)存相關(guān)的信息,包括內(nèi)存總大小、已使用大小、空閑大小,單位MiB,間接計(jì)算得到內(nèi)存使用率:

注意獲取到的原始數(shù)據(jù)格式

獲取交換空間相關(guān)信息,包括交換空間總大小、已使用大小、空閑大小,單位MiB,間接計(jì)算得到交換空間使用率:

注意獲取到的原始數(shù)據(jù)格式

獲取樹莓派系統(tǒng)閃存卡相關(guān)信息,包括總大小、已使用空間大小、可用空間大小,單位GiB,間接計(jì)算得到空間使用率:

注意獲取到的原始數(shù)據(jù)格式

呼,至此需要實(shí)現(xiàn)的功能都已經(jīng)實(shí)現(xiàn)并盡可能地優(yōu)化完善了,再加一點(diǎn)細(xì)節(jié),試著在樹莓派上測(cè)試一下效果吧:

emmm,感覺馬馬虎虎吧

整體上來看感覺還行吧,雖然數(shù)值上面可能沒那么精確(類型轉(zhuǎn)換還是少用為妙),通過這個(gè)簡(jiǎn)單的腳本大致能集中查看樹莓派當(dāng)前的基本狀態(tài)了,整整齊齊,心情舒暢,強(qiáng)迫癥的福音!

源代碼已提交至Gitee:https://gitee.com/greaterunoob/raspberry-pi-monitor

無需額外安裝工具庫,支持Python3.5之后版本,根據(jù)自己的功能需求修改腳本以更好地適用于自己的樹莓派。

另外,救救我這個(gè)Python小白吧,有精通Python類型注解使用方式的大神,能幫忙在評(píng)論區(qū)分享一些規(guī)范使用類型注解的經(jīng)驗(yàn)嗎?或者一些高級(jí)類型注解的案例也行,想學(xué)!

腳本中出現(xiàn)的各類疏漏、錯(cuò)誤或者代碼不規(guī)范的地方,歡迎在評(píng)論區(qū)批評(píng)指正!如果有更為簡(jiǎn)便、高效的代碼片段,也歡迎在評(píng)論區(qū)分享交流,相互學(xué)習(xí)。

使用Python腳本監(jiān)測(cè)Raspberry Pi基本狀態(tài)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
阳江市| 平原县| 磐石市| 喀喇沁旗| 和林格尔县| 西丰县| 马龙县| 阿瓦提县| 根河市| 霍林郭勒市| 文安县| 玉屏| 贡觉县| 商南县| 水城县| 西平县| 漳平市| 新郑市| 虎林市| 宝兴县| 蒙城县| 萨嘎县| 梧州市| 安福县| 滁州市| 内丘县| 扬中市| 镇江市| 静安区| 绵阳市| 轮台县| 焉耆| 临桂县| 玉树县| 邹平县| 调兵山市| 固阳县| 余姚市| 环江| 军事| 许昌市|