在Linux中,如何獲取CPU的總核心數?

黄嘉波發表於2024-03-10

在Linux中,可以透過幾種不同的命令來獲取CPU的總核心數。具體如下:

  1. 檢視物理CPU個數:可以透過檢視/proc/cpuinfo檔案來獲取物理CPU的個數。使用以下命令:

    cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l
    

    這個命令會顯示物理CPU的個數。

  2. 檢視每個物理CPU的核數:同樣,可以透過檢視/proc/cpuinfo檔案來獲取每個物理CPU的核數。使用以下命令:

    cat /proc/cpuinfo | grep "core id" | sort -u | wc -l
    

    這個命令會顯示每個物理CPU的核數。

  3. 使用lscpu命令lscpu命令可以提供關於CPU架構的詳細資訊,包括總的CPU核數和可用的CPU核數。使用以下命令:

    lscpu | grep "CPU(s):"
    

    這個命令會輸出總的CPU核數。

  4. 使用nproc命令nproc命令會輸出系統中可用的CPU核數,這對於檢視邏輯CPU數很有幫助。使用以下命令:

    nproc
    

    這個命令會輸出可用的CPU核數。

  5. 檢視/proc/cpuinfo檔案:直接檢視/proc/cpuinfo檔案也可以獲得CPU的詳細資訊,包括型號、頻率、核心數等。使用以下命令:

    cat /proc/cpuinfo
    

    這個命令會列出所有CPU核心的資訊。

綜上所述,透過組合這些方法,您可以得到CPU的總核心數,即物理CPU個數乘以每個物理CPU的核數,如果考慮超執行緒技術,還需要考慮每個物理CPU支援的超執行緒數。例如,如果您的系統有2個物理CPU,每個CPU有10個核心,並且使用了超執行緒技術,那麼總的邏輯CPU數將是2乘以10再乘以超執行緒數(通常為2),即40個邏輯CPU核心。

相關文章