環(huán)境
硬件:通用PC /Jetson Xavier NX 套件
系統(tǒng):Ubuntu 20.04
軟件 :
獲取CPU信息
在Ubuntu系統(tǒng)中,可以通過在終端執(zhí)行以下命令來獲取CPU的名稱:
lscpu
如果需要精準(zhǔn)查找CPU名稱 、核心數(shù)、廠商可以使用
查看CPU名稱
lscpu | grep "Model name"
查看CPU核心數(shù)
lscpu | grep "CPU(s)"
查看CPU廠商
lscpu | grep "Vendor ID"
查看CPU總使用率
如果需要獲取CPU使用率,使用mpstat命令,它是sysstat包的一部分。首先,確保安裝了sysstat包。如果沒有安裝,可以通過以下命令安裝:
sudo apt-get update
sudo apt-get install sysstat
然后,運(yùn)行mpstat來查看CPU使用率:
mpstat 1
這個命令會每1秒更新一次CPU使用率的信息??梢钥吹矫總€CPU的使用詳情,包括用戶模式(%usr)、系統(tǒng)模式(%sys)等的使用率。
mpstat 返回值 每列表示什么
mpstat命令是sysstat包的一部分,用于顯示各個可用CPU的統(tǒng)計(jì)信息。當(dāng)運(yùn)行mpstat時,它會顯示一系列的列,每列都有特定的含義。下面是mpstat輸出的一些常見列及其含義:
表頭 | 說明 |
---|---|
%usr | 在用戶級別(應(yīng)用程序)運(yùn)行時占用的CPU百分比,不包括優(yōu)先級調(diào)整的時間。 |
%nice | 在用戶級別運(yùn)行且優(yōu)先級為nice時占用的CPU百分比。 |
%sys | 在系統(tǒng)(內(nèi)核)級別運(yùn)行時占用的CPU百分比。 |
%iowait | CPU等待輸入輸出完成時間的百分比。 |
%irq | 處理硬件中斷請求時占用的CPU百分比。 |
%soft | 處理軟件中斷請求時占用的CPU百分比。 |
%steal | 在虛擬化環(huán)境中,其他操作系統(tǒng)占用的CPU時間百分比。 |
%guest | 運(yùn)行虛擬處理器時占用的CPU時間百分比。 |
%gnice | 運(yùn)行niced guest時占用的CPU時間百分比。 |
%idle | CPU空閑時間的百分比。 |
默認(rèn)情況下,mpstat顯示所有CPU的平均使用情況。如果想看到每個CPU核心的統(tǒng)計(jì)信息,可以使用mpstat -P ALL命令。
可以通過,運(yùn)行mpstat命令并通過awk提取總CPU使用率:
mpstat | awk '/all/ {print 100 - $NF"%"}'
這個命令的解釋如下:
mpstat:運(yùn)行mpstat命令,它會輸出CPU的使用情況。
awk ‘/all/ {print 100 - $NF"%"}’:使用awk搜索包含“all”的行,這行包含了所有CPU的平均使用情況。$NF表示最后一個字段(在默認(rèn)輸出中,這是空閑時間的百分比),100 - $NF計(jì)算出總的CPU使用率,然后打印出來。
這個命令會輸出類似12.34%的CPU總使用率。
請注意,這個方法提供的是一個瞬時快照的CPU使用率,而CPU使用率是隨時間動態(tài)變化的。如果需要監(jiān)控CPU使用率的變化趨勢,可能需要定期運(yùn)行這個命令,或者使用更高級的監(jiān)控工具。
查看每個CPU核心的使用率
可以使用mpstat命令配合-P ALL選項(xiàng)。這會顯示系統(tǒng)中每個CPU核心的詳細(xì)統(tǒng)計(jì)信息,包括每個核心的使用率。
mpstat -P ALL 1
獲取GPU信息
在Ubuntu系統(tǒng)中,查看GPU信息可以通過多種方式,以下是一些常用的方法:
- 使用lspci命令:
這個命令會列出所有的PCI設(shè)備,包括GPU??梢酝ㄟ^grep過濾出GPU相關(guān)的信息。
lspci | grep VGA
- 使用nvidia-smi命令 (對于NVIDIA GPU):
如果系統(tǒng)裝有NVIDIA的GPU,可以使用nvidia-smi工具來查看GPU的詳細(xì)信息
nvidia-smi
- 使用glxinfo命令:
這個命令需要系統(tǒng)安裝了mesa-utils包。
sudo apt-get install mesa-utils
glxinfo | grep "OpenGL renderer"
獲取硬盤信息
在Ubuntu系統(tǒng)中,要獲取系統(tǒng)掛載的硬盤信息,可以使用df命令或mount命令。這些命令能夠顯示當(dāng)前掛載的文件系統(tǒng)的詳細(xì)信息,包括設(shè)備名、掛載點(diǎn)、使用情況等。
df -h
獲取掛載到根目錄的硬盤的設(shè)備名
要獲取掛載到根目錄(/)的硬盤的設(shè)備名,可以使用df命令,并通過文本處理命令如awk來提取設(shè)備名。在終端中執(zhí)行以下命令:
df / | awk 'NR==2{print $1}'
這個命令的解釋如下:
df /:顯示根目錄(/)的文件系統(tǒng)磁盤空間使用情況。
awk ‘NR==2{print $1}’:使用awk命令處理df的輸出。NR==2選擇第二行(因?yàn)閐f命令的輸出的第一行是標(biāo)題行),print $1則打印這一行的第一個字段,即設(shè)備名。
執(zhí)行這個命令后,將得到掛載到根目錄的硬盤的設(shè)備名,例如/dev/sda1或類似的名稱
按GB為單位顯示
要讓df命令的輸出以GB為單位顯示,可以使用-BG選項(xiàng)。這會使得所有的容量數(shù)值以GB為單位展示。如果想要查看所有文件系統(tǒng)的使用情況,并且結(jié)果以GB為單位,可以這樣做:
df -BG
獲取系統(tǒng)所在盤的總空間
df / -BG | awk 'NR==2{print $2}'
獲取系統(tǒng)所在盤的剩余空間
df / -BG | awk 'NR==2{print $4}'
獲取系統(tǒng)所在盤的使用率
df / -BG | awk 'NR==2{print $5}'
獲取系統(tǒng)所在盤的設(shè)備節(jié)點(diǎn)
lsblk -o MOUNTPOINT,PKNAME | grep ' /$' | awk '{print $2}'
這個命令的解釋如下:
lsblk -o MOUNTPOINT,PKNAME:lsblk命令列出所有設(shè)備,-o選項(xiàng)指定輸出特定的列,這里選擇了MOUNTPOINT(掛載點(diǎn))和PKNAME(父設(shè)備名稱,即整個硬盤的設(shè)備節(jié)點(diǎn))。
grep ’ /$':使用grep命令過濾出掛載點(diǎn)為根目錄(/)的行。/$確保匹配的是根目錄,而不是包含/的其他目錄。
awk ‘{print $2}’:使用awk命令打印每行的第二個字段,即父設(shè)備名稱,它代表的是掛載到根目錄的硬盤的整個設(shè)備節(jié)點(diǎn)。
執(zhí)行這個命令后,將得到掛載到根目錄的硬盤的設(shè)備節(jié)點(diǎn)名稱,如/dev/sda,而不是分區(qū)節(jié)點(diǎn)(如/dev/sda1)。這樣,就可以直接獲取到根目錄所在硬盤的整個設(shè)備節(jié)點(diǎn)。
獲取系統(tǒng)所在盤詳細(xì)描述
sudo fdisk -l $(lsblk -o MOUNTPOINT,PKNAME | grep ' /$' | awk '{print "/dev/"$2}')
這個命令的解釋如下:
$(lsblk -o MOUNTPOINT,PKNAME | grep ’ /$’ | awk ‘{print “/dev/”$2}’):這部分命令找出掛載到根目錄(/)的硬盤的父設(shè)備節(jié)點(diǎn)(即整個硬盤的設(shè)備節(jié)點(diǎn)),并在其前面加上/dev/來形成完整的設(shè)備文件路徑。例如,如果lsblk命令的輸出是sda,那么這部分命令的結(jié)果將是/dev/sda。
sudo fdisk -l:fdisk命令用于查看和修改磁盤分區(qū)表,-l選項(xiàng)告訴fdisk列出分區(qū)表信息。這需要超級用戶權(quán)限,因此使用了sudo。通過這種方式,可以直接查看掛載到根目錄的硬盤的分區(qū)表信息,而無需手動輸入設(shè)備節(jié)點(diǎn)。
獲取硬盤disk model信息
如果需要繼續(xù)輸出disk model信息,可以使用
sudo fdisk -l $(lsblk -o MOUNTPOINT,PKNAME | grep ' /$' | awk '{print "/dev/"$2}') | grep 'Disk model' | awk -F': ' '{print $2}'
這個命令的解釋如下:
- sudo fdisk -l $(…):這部分命令找出掛載到根目錄的硬盤的設(shè)備節(jié)點(diǎn),并使用fdisk -l列出該硬盤的詳細(xì)信息。
- grep ‘Disk model’:使用grep命令過濾出包含“Disk model”的行。這假設(shè)硬盤模型信息在fdisk的輸出中以“Disk model”作為前綴。根據(jù)fdisk的版本和輸出,這個關(guān)鍵字可能有所不同,可能需要相應(yīng)地調(diào)整。
- awk -F’: ’ ‘{print $2}’:使用awk命令并設(shè)置字段分隔符為“: ”(冒號加空格),然后打印第二個字段,即硬盤模型的值。
請注意,這個方法的有效性取決于fdisk命令輸出的具體格式,這可能會因不同的系統(tǒng)和fdisk版本而異。如果“Disk model”不是正確的關(guān)鍵字,可能需要根據(jù)實(shí)際fdisk輸出調(diào)整grep過濾的關(guān)鍵字。
獲取內(nèi)存信息
要獲取系統(tǒng)內(nèi)存信息,可以使用free命令。這個命令提供了關(guān)于系統(tǒng)內(nèi)存使用情況的信息,包括物理內(nèi)存、交換空間等。
free -h
這個命令的輸出大致如下:
表頭 | 說明 |
---|---|
total | 顯示總計(jì)的物理內(nèi)存或交換空間大小。 |
used | 顯示已使用的內(nèi)存或交換空間大小。 |
free | 顯示未被使用的內(nèi)存或交換空間大小。 |
shared | 顯示多個進(jìn)程共享的內(nèi)存總量(僅適用于某些系統(tǒng))。 |
buff/cache | 顯示被緩沖或緩存的內(nèi)存大小。 |
available | 估算可用于啟動新應(yīng)用程序的內(nèi)存大小,而不需要交換。 |
這提供了一個快速的系統(tǒng)內(nèi)存使用概覽,包括的物理內(nèi)存和交換空間的使用情況
將輸出信息前面的空格去掉
可以使用
sed 's/^ *//'
這里的sed 's/^ *//'命令查找每行開頭的一個或多個空格(^ *)并將它們替換為無(即刪除它們)
例如:文章來源:http://www.zghlxwxcb.cn/news/detail-860786.html
lsblk -o MOUNTPOINT,PKNAME | grep ' /$' | awk '{print $2}' | sed 's/^ *//'
OK!
至此,問題解決。歡迎留言交流文章來源地址http://www.zghlxwxcb.cn/news/detail-860786.html
到了這里,關(guān)于【linux】Ubuntu 查詢CPU、GPU、硬盤、內(nèi)存等硬件信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!