最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)讀取Linux系統(tǒng)的CPU以及內(nèi)存占用

 更新時(shí)間:2023年05月19日 11:04:59   作者:?黎明之光?  
這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)Linux系統(tǒng)的CPU以及內(nèi)存占用,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的可以收藏一下

直接貼代碼

import subprocess
 
def get_system_stats():
    # 通過(guò) shell 命令獲取 CPU 使用率和內(nèi)存使用率
    cpu_command = "top -bn1 | grep '%Cpu(s)' | awk '{print $2}'"
    memory_command = "free | grep Mem | awk '{print $3/$2 * 100.0}'"
    
    # 執(zhí)行命令并獲取輸出結(jié)果
    cpu_result = subprocess.check_output(cpu_command, shell=True).decode().strip()
    memory_result = subprocess.check_output(memory_command, shell=True).decode().strip()
    
    # 轉(zhuǎn)換結(jié)果為浮點(diǎn)數(shù)
    cpu_usage = float(cpu_result)
    memory_usage = float(memory_result)
    
    # 返回 CPU 使用率和內(nèi)存使用率
    return cpu_usage, memory_usage
 
# 調(diào)用函數(shù)并獲取結(jié)果
cpu_usage, memory_usage = get_system_stats()
print("CPU 使用率: ", cpu_usage)
print("內(nèi)存使用率: ", memory_usage)

在上述示例中,get_system_stats 函數(shù)使用 subprocess 模塊執(zhí)行 shell 命令來(lái)獲取系統(tǒng)的 CPU 使用率和內(nèi)存使用率。通過(guò) top 命令和 grep、awk 進(jìn)行過(guò)濾和提取相關(guān)信息,并將結(jié)果轉(zhuǎn)換為浮點(diǎn)數(shù)后返回。

代碼解釋:

cpu_command = "top -bn1 | grep '%Cpu(s)' | awk '{print $2}'"

讓我們逐步解釋這個(gè)命令的每個(gè)部分:

1.top -bn1: 這是 top 命令的參數(shù),用于顯示系統(tǒng)資源的實(shí)時(shí)使用情況。-b 表示以批處理模式運(yùn)行,n1 表示只運(yùn)行一次。

2.grep '%Cpu(s)': 這是 grep 命令的參數(shù),用于在命令的輸出中篩選包含 %Cpu(s) 的行。%Cpu(s) 是 top 命令輸出中 CPU 使用率相關(guān)信息的標(biāo)識(shí)。

3.awk '{print $2}': 這是 awk 命令的參數(shù),用于提取每行的第二個(gè)字段并進(jìn)行打印。在這里,awk 命令將提取第二個(gè)字段,即 CPU 使用率的數(shù)值。

綜合起來(lái),這個(gè)命令的作用是運(yùn)行 top 命令獲取系統(tǒng)資源信息,并通過(guò)管道傳遞給 grep 命令進(jìn)行篩選,然后再傳遞給 awk 命令提取 CPU 使用率的數(shù)值。最終,cpu_command 變量會(huì)保存這個(gè)完整的 shell 命令字符串。

在 Python 代碼中,subprocess.check_output(cpu_command, shell=True) 的作用是執(zhí)行這個(gè) shell 命令,并將輸出結(jié)果以字符串的形式返回。

memory_command = "free | grep Mem | awk '{print $3/$2 * 100.0}'"

讓我們逐步解釋這個(gè)命令的每個(gè)部分:

1.free: 這是 free 命令,用于顯示系統(tǒng)內(nèi)存使用情況。

2.grep Mem: 這是 grep 命令的參數(shù),用于篩選包含 "Mem" 的行,以過(guò)濾出與內(nèi)存相關(guān)的信息。

3.awk '{print $3/$2 * 100.0}': 這是 awk 命令的參數(shù),用于計(jì)算內(nèi)存使用率。它提取每行的第三個(gè)字段(已使用內(nèi)存)和第二個(gè)字段(總內(nèi)存),然后將其相除并乘以 100,得到內(nèi)存使用率。

綜合起來(lái),這個(gè)命令的作用是運(yùn)行 free 命令獲取系統(tǒng)內(nèi)存信息,并通過(guò)管道傳遞給 grep 命令進(jìn)行篩選,然后再傳遞給 awk 命令計(jì)算內(nèi)存使用率。最終,memory_command 變量會(huì)保存這個(gè)完整的 shell 命令字符串。

在 Python 代碼中,subprocess.check_output(memory_command, shell=True) 的作用是執(zhí)行這個(gè) shell 命令,并將輸出結(jié)果以字符串的形式返回。

請(qǐng)注意,上述代碼是一個(gè)示例,你可以根據(jù)你的需求和具體的 Linux 系統(tǒng)進(jìn)行適當(dāng)?shù)恼{(diào)整和改進(jìn)。另外,需要確保你的 Python 環(huán)境中已經(jīng)安裝了相關(guān)的依賴和工具,以使 subprocess 模塊能夠正常工作。

結(jié)果如下:

知識(shí)補(bǔ)充

Python不僅可以讀取linux系統(tǒng)的cpu以及內(nèi)存占用,也可以讀取docker資源占用,下面是實(shí)現(xiàn)代碼,需要的可以參考一下

函數(shù)內(nèi)部使用該名稱獲取相應(yīng)的容器對(duì)象,并計(jì)算 CPU 使用率和內(nèi)存使用率。最后,函數(shù)返回這兩個(gè)結(jié)果供調(diào)用者使用。

def get_container_stats(container_name):
    client = DockerClient()  # 假設(shè)你已經(jīng)初始化了 Docker 客戶端
    container = client.containers.get(container_name)
    
    stats = container.stats(stream=False)
    cpu_usage = 100 * stats['cpu_stats']['cpu_usage']['total_usage'] / stats['cpu_stats']['system_cpu_usage']
    memory_used = 100 * stats['memory_stats']['usage'] / stats['memory_stats']['limit']
    
    return cpu_usage, memory_used
 
# 調(diào)用函數(shù)并獲取結(jié)果
container_name = 'ueransim-slice1'
cpu_usage, memory_used = get_container_stats(container_name)
print("CPU 使用率: ", cpu_usage)
print("內(nèi)存使用率: ", memory_used)

到此這篇關(guān)于Python實(shí)現(xiàn)讀取Linux系統(tǒng)的CPU以及內(nèi)存占用的文章就介紹到這了,更多相關(guān)Python讀取Linux系統(tǒng)CPU內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python簡(jiǎn)易版圖書(shū)管理系統(tǒng)

    Python簡(jiǎn)易版圖書(shū)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)簡(jiǎn)易版圖書(shū)管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Python 硬幣兌換問(wèn)題

    Python 硬幣兌換問(wèn)題

    這篇文章主要介紹了Python 硬幣兌換問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 理解Python數(shù)據(jù)離散化手寫(xiě)if-elif語(yǔ)句與pandas中cut()方法實(shí)現(xiàn)

    理解Python數(shù)據(jù)離散化手寫(xiě)if-elif語(yǔ)句與pandas中cut()方法實(shí)現(xiàn)

    這篇文章主要介紹了通過(guò)手寫(xiě)if-elif語(yǔ)句與pandas中cut()方法實(shí)現(xiàn)示例理解Python數(shù)據(jù)離散化詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • centos+nginx+uwsgi部署django項(xiàng)目上線

    centos+nginx+uwsgi部署django項(xiàng)目上線

    本文主要介紹了centos+nginx+uwsgi部署django項(xiàng)目上線,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 使用Python讀取大文件的方法

    使用Python讀取大文件的方法

    這篇文章主要介紹了使用Python讀取大文件的方法,需要的朋友可以參考下
    2018-02-02
  • Python遞歸求出列表(包括列表中的子列表)的最大值實(shí)例

    Python遞歸求出列表(包括列表中的子列表)的最大值實(shí)例

    今天小編就為大家分享一篇Python遞歸求出列表(包括列表中的子列表)的最大值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • django query模塊

    django query模塊

    這篇文章主要介紹了django query模塊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python插件virtualenv搭建虛擬環(huán)境

    Python插件virtualenv搭建虛擬環(huán)境

    這篇文章主要為大家詳細(xì)介紹了Python插件virtualenv搭建虛擬環(huán)境,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • python函數(shù)裝飾器用法實(shí)例詳解

    python函數(shù)裝飾器用法實(shí)例詳解

    這篇文章主要介紹了python函數(shù)裝飾器用法,以實(shí)例形式較為詳細(xì)的分析了Python函數(shù)裝飾器的常見(jiàn)使用技巧,需要的朋友可以參考下
    2015-06-06
  • 在Python中使用gRPC的方法示例

    在Python中使用gRPC的方法示例

    這篇文章主要介紹了在Python中使用gRPC的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08

最新評(píng)論

龙胜| 论坛| 都兰县| 台安县| 上栗县| 陇西县| 商丘市| 杭锦旗| 友谊县| 郴州市| 平乡县| 沾益县| 鸡泽县| 棋牌| 高清| 逊克县| 包头市| 南江县| 柳林县| 纳雍县| 泰安市| 黔西县| 西贡区| 周口市| 邯郸市| 拉萨市| 竹北市| 慈溪市| 闽清县| 布拖县| 辛集市| 东城区| 梅河口市| 文化| 双柏县| 偃师市| 平度市| 柘荣县| 栖霞市| 湖南省| 龙口市|