訪問官網(wǎng)查看更多信息http://www.hanyunintel.com
在大多數(shù)情況下我們只想查看內(nèi)存使用情況,并沒有考慮占用的百分比究竟是多少筛峭。如果你想要了解這些信息铐刘,那你看這篇文章就對了。-- Vinoth Kumar
在 Linux 下有很多可以用來查看內(nèi)存占用情況的命令和選項影晓,但是我并沒有看見關(guān)于內(nèi)存占用率的更多的信息。
在大多數(shù)情況下我們只想查看內(nèi)存使用情況檩禾,并沒有考慮占用的百分比究竟是多少挂签。如果你想要了解這些信息,那你看這篇文章就對了盼产。我們將會詳細(xì)地在這里幫助你解決這個問題饵婆。
這篇教程將會幫助你在面對 Linux 服務(wù)器下頻繁的內(nèi)存高占用情況時,確定內(nèi)存使用情況戏售。
而在同時侨核,如果你使用的是 free -m 或者 free -g,占用情況描述地也并不是十分清楚灌灾。
這些格式化命令屬于 Linux 高級命令搓译。它將會對 Linux 專家和中等水平 Linux 使用者非常有用。
方法-1:如何查看 Linux 下內(nèi)存占用率锋喜?
我們可以使用下面命令的組合來達(dá)到此目的些己。在該方法中豌鸡,我們使用的是 free 和 awk 命令的組合來獲取內(nèi)存占用率。
如果你正在尋找其他有關(guān)于內(nèi)存的文章段标,你可以導(dǎo)航到如下鏈接涯冠。這些文章有 free 命令[1]、smem 命令[2]逼庞、ps_mem 命令[3]蛇更、vmstat 命令[4] 及 查看物理內(nèi)存大小的多種方式[5]。
要獲取不包含百分比符號的內(nèi)存占用率:
3/$2*100}'
或
3/$2*100}'
Current Memory Utilization is : 20.4194
要獲取不包含百分比符號的交換分區(qū)占用率:
3/$2*100}'
或
3/$2*100}'
Current Swap Utilization is : 0
要獲取包含百分比符號及保留兩位小數(shù)的內(nèi)存占用率:
3/$2*100}'
或
3/$2*100}'
Current Memory Utilization is : 20.42%
要獲取包含百分比符號及保留兩位小數(shù)的交換分區(qū)占用率:
3/$2*100}'
或
3/$2*100}'
Current Swap Utilization is : 0.00%
如果你正在尋找有關(guān)于交換分區(qū)的其他文章赛糟,你可以導(dǎo)航至如下鏈接派任。這些鏈接有 使用 LVM(邏輯盤卷管理)創(chuàng)建和擴(kuò)展交換分區(qū)[6],創(chuàng)建或擴(kuò)展交換分區(qū)的多種方式[7] 和 創(chuàng)建/刪除和掛載交換分區(qū)文件的多種方式[8]虑灰。
鍵入 free 命令會更好地作出闡釋:
$ free
total used free shared buff/cache available
Mem: 15867 3730 9868 1189 2269 10640
Swap: 17454 0 17454
Total: 33322 3730 27322
細(xì)節(jié)如下:
? free:是一個標(biāo)準(zhǔn)命令吨瞎,用于在 Linux 下查看內(nèi)存使用情況。? awk:是一個專門用來做文本數(shù)據(jù)處理的強(qiáng)大命令穆咐。? FNR == 2:該命令給出了每一個輸入文件的行數(shù)颤诀。其基本上用于挑選出給定的行(針對于這里,它選擇的是行號為 2 的行)? NR == 2:該命令給出了處理的行總數(shù)对湃。其基本上用于過濾給出的行(針對于這里崖叫,它選擇的是行號為 2 的行)? 2*100:該命令將列 3 除以列 2 并將結(jié)果乘以 100。? printf:該命令用于格式化和打印數(shù)據(jù)拍柒。? %.2f%:默認(rèn)情況下心傀,其打印小數(shù)點后保留 6 位的浮點數(shù)。使用后跟的格式來約束小數(shù)位拆讯。
方法-2:如何查看 Linux 下內(nèi)存占用率脂男?
我們可以使用下面命令的組合來達(dá)到此目的。在這種方法中种呐,我們使用 free宰翅、grep 和 awk 命令的組合來獲取內(nèi)存占用率。
要獲取不包含百分比符號的內(nèi)存占用率:
3/$2*100}'
Current Memory Utilization is : 20.4228
要獲取不包含百分比符號的交換分區(qū)占用率:
3/$2*100}'
Current Swap Utilization is : 0
要獲取包含百分比符號及保留兩位小數(shù)的內(nèi)存占用率:
3/$2*100}'
Current Memory Utilization is : 20.43%
要獲取包含百分比符號及保留兩位小數(shù)的交換空間占用率:
3/$2*100}'
Current Swap Utilization is : 0.00%
方法-1:如何查看 Linux 下 CPU 的占用率爽室?
我們可以使用如下命令的組合來達(dá)到此目的汁讼。在這種方法中,我們使用 top阔墩、print 和 awk 命令的組合來獲取 CPU 的占用率嘿架。
如果你正在尋找其他有關(guān)于 CPU(LCTT 譯注:原文誤為 memory)的文章,你可以導(dǎo)航至如下鏈接啸箫。這些文章有 top 命令[9]耸彪、htop 命令[10]、atop 命令[11] 及 Glances 命令[12]筐高。
如果在輸出中展示的是多個 CPU 的情況搜囱,那么你需要使用下面的方法丑瞧。
$ top -b -n1 | grep ^%Cpu
%Cpu0 : 5.3 us, 0.0 sy, 0.0 ni, 94.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.0 sy, 0.0 ni, 94.7 id, 0.0 wa, 0.0 hi, 5.3 si, 0.0 st
%Cpu3 : 5.3 us, 0.0 sy, 0.0 ni, 94.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu4 : 10.5 us, 15.8 sy, 0.0 ni, 73.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu5 : 0.0 us, 5.0 sy, 0.0 ni, 95.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu6 : 5.3 us, 0.0 sy, 0.0 ni, 94.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu7 : 5.3 us, 0.0 sy, 0.0 ni, 94.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
要獲取不包含百分比符號的 CPU 占用率:
9}END{print "Current CPU Utilization is : " 100-cpu/NR}'
Current CPU Utilization is : 21.05
要獲取包含百分比符號及保留兩位小數(shù)的 CPU 占用率:
9}END{printf("Current CPU Utilization is : %.2f%"), 100-cpu/NR}'
Current CPU Utilization is : 14.81%
方法-2:如何查看 Linux 下 CPU 的占用率?
我們可以使用如下命令的組合來達(dá)到此目的蜀肘。在這種方法中绊汹,我們使用的是 top、print/printf和 awk 命令的組合來獲取 CPU 的占用率扮宠。
如果在單個輸出中一起展示了所有的 CPU 的情況西乖,那么你需要使用下面的方法。
$ top -b -n1 | grep ^%Cpu
%Cpu(s): 15.3 us, 7.2 sy, 0.8 ni, 69.0 id, 6.7 wa, 0.0 hi, 1.0 si, 0.0 st
要獲取不包含百分比符號的 CPU 占用率:
8}'
Current CPU Utilization is : 5.6
要獲取包含百分比符號及保留兩位小數(shù)的 CPU 占用率:
8}'
Current CPU Utilization is : 5.40%
如下是一些細(xì)節(jié):
? top:是一種用于查看當(dāng)前 Linux 系統(tǒng)下正在運行的進(jìn)程的非常好的命令坛增。? -b:選項允許 top 命令切換至批處理的模式获雕。當(dāng)你從本地系統(tǒng)運行 top 命令至遠(yuǎn)程系統(tǒng)時,它將會非常有用收捣。? -n1:迭代次數(shù)届案。? ^%Cpu:過濾以 %CPU 開頭的行。? awk:是一種專門用來做文本數(shù)據(jù)處理的強(qiáng)大命令罢艾。? cpu+=$9:對于每一行楣颠,將第 9 列添加至變量 cpu。? printf:該命令用于格式化和打印數(shù)據(jù)咐蚯。? %.2f%:默認(rèn)情況下童漩,它打印小數(shù)點后保留 6 位的浮點數(shù)。使用后跟的格式來限制小數(shù)位數(shù)春锋。? 100-cpu/NR:最終打印出 CPU 平均占用率矫膨,即用 100 減去其并除以行數(shù)。