1. 如何查看AIX伺服器系統的cpu個數
本人對AIX不太熟悉,我幫你找了一篇文章
系統中有很多命令可以查看cpu的個數,但是哪個命令輸出的是邏輯cpu個數,哪個又是物理cpu個數呢?我們下面做一個簡單的介紹。 解答:
從AIX5.3起,對於power5的機器,系統引入了SMT(Simultaneousmulti-threading)的功能,其允許兩個處理線程在同一顆處理器上運行,對操作系統而言,一顆物理處理器邏輯上會成為兩個處理單元(邏輯處理器)。也就是說,在SMT功能啟用的情況下,邏輯cpu個數是物理cpu個數的兩倍,而在SMT功能禁用的情況下,邏輯cpu個數與物理cpu個數相等。
下面我們介紹如何通過各種命令檢查系統中的物理cpu和邏輯cpu的個數。
1. smtctl
# smtctl
This system is SMT capable.
SMT is currently enabled.
SMT boot mode is not set.
SMT threads are bound to the same physical processor.
proc0 has 2 SMT threads.
Bind processor 0 is bound with proc0
Bind processor 1 is bound with proc0
proc2 has 2 SMT threads.
Bind processor 2 is bound with proc2
Bind processor 3 is bound with proc2
proc4 has 2 SMT threads.
Bind processor 4 is bound with proc4
Bind processor 5 is bound with proc4
proc6 has 2 SMT threads.
Bind processor 6 is bound with proc6
Bind processor 7 is bound with proc6
可以看到,該系統具有SMT能力且當前SMT功能已啟用。4個物理cpu對應著8個邏輯cpu。
2. bindprocessor
# bindprocessor -q
The available processors are: 0 1 2 3 4 5 6 7
可以看到可用邏輯cpu個數是8個(0-7)。
3. prtconf
# prtconf
System Model: IBM,9131-52A
Machine Serial Number: 0677A5G
Processor Type: PowerPC_POWER5
Number Of Processors: 4 ==》物理cpu有4個
Processor Clock Speed: 1648 MHz
CPU Type: 64-bit
Kernel Type: 64-bit
LPAR Info: 1 06-77A5G
4.lsdev
# lsdev -Cc processor
proc0 Available 00-00 Processor
proc2 Available 00-02 Processor
proc4 Available 00-04 Processor
proc6 Available 00-06 Processor
可以看到系統中有4個物理cpu。
5.vmstat
# vmstat
System configuration: lcpu=8 mem=7936MB
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
1 1 428238 41599 0 0 0 13 25 0 40 1639 182 0 0 99
可以看到系統中有8個邏輯cpu。
2. AIX如何查看CPU物理個數和幾核
運行prtconf|more,選擇查看物理處理器數量。
運行lsdev -Cc processor也可以查看物理CPU數。
smtctl查看線程數和CPU的綁定。
POWER5,POWER6的CPU是雙線程,POWER7的CPU是四線程
比如:
root@localhost[/]#smtctl
This system is SMT capable.
SMT is currently enabled.
SMT boot mode is not set.
SMT threads are bound to the same physical processor.
proc0 has 2 SMT threads.
Bind processor 0 is bound with proc0
Bind processor 1 is bound with proc0
proc2 has 2 SMT threads.
Bind processor 2 is bound with proc2
Bind processor 3 is bound with proc2
proc4 has 2 SMT threads.
Bind processor 4 is bound with proc4
Bind processor 5 is bound with proc4
proc6 has 2 SMT threads.
Bind processor 6 is bound with proc6
Bind processor 7 is bound with proc6
可以看到,該系統具有SMT能力且當前SMT功能已啟用。4個物理cpu對應著8個邏輯cpu。
root@localhost[/]#bindprocessor -q
The available processors are: 0 1 2 3 4 5 6 7
可以看到可用邏輯cpu個數是8個(0-7)。
root@localhost[/]#prtconf |more
System Model: IBM,8204-E8A
Machine Serial Number: 06D7A62
Processor Type: PowerPC_POWER6
Processor Implementation Mode: POWER 6
Processor Version: PV_6
Number Of Processors: 4 ==》物理cpu有4個
Processor Clock Speed: 3503 MHz
CPU Type: 64-bit
Kernel Type: 64-bit
LPAR Info: 1 06-D7A62
root@localhost[/]#lsdev -Cc processor
proc0 Available 00-00 Processor
proc2 Available 00-02 Processor
proc4 Available 00-04 Processor
proc6 Available 00-06 Processor
可以看到系統中有4個物理cpu。
root@localhost[/]#
root@localhost[/]#vmstat
System configuration: lcpu=8 mem=7616MB
可以看到系統中有8個邏輯cpu。
3. AIX怎麼用tprof查看指定進程佔用cup情況
使用tprof命令用於統計每個進程的CPU使用情況
# tprof -x sleep 30
該命令的輸出結果可查看 __prof.all文件。
此命令運行30秒鍾,在當前目錄下創建一個名為_prof.all 的文件。30秒鍾內, CPU被調度次數約為3000次。__prof.all 文件中的欄位Total 為此進程調度到的CPU次數。如果進程所對應的 Total字 段的值為1500,即表示該進程在3000次 CPU調度中佔用了1500次,或理解為使用了一半的CPU時間。tprof的輸出准確地顯示出哪個進程在使用CPU 時間。
4. AIX 如何查看CPU核心總數
可以直接用命令prtconf查看,得到的輸出有類似下面的行,其中number of processors 就是這個aix系統所擁有的核心數:
$ prtconf
System Model: IBM,8284-22A
Machine Serial Number: ********
Processor Type: PowerPC_POWER8
Processor Implementation Mode: POWER 8
Processor Version: PV_8_Compat
Number Of Processors: 2
Processor Clock Speed: 4157 MHz
CPU Type: 64-bit
Kernel Type: 64-bit
LPAR Info: ************
Memory Size: 16384 MB
Good Memory Size: 16384 MB
5. 請問AIX下如用命令獲取CPU頻率、和CPU型號,多CPU情況下
可以用topas或者prtconf 命令prtconf: #prtconf|moreSystem Model: IBM,9133-55AMachine Serial Number: Processor Type: PowerPC_POWER5 Number Of Proces
6. aix如何查看伺服器有多少cpu
lscfg |grep proc |wc –l
lsdev -C |grep proc |wc –l
lsdev -Cc processor |wc –l
bindprocessor –q 能夠列出系統中可用的邏輯處理器的數量
7. aix怎麼查看最耗CPU的進程
可以用topas這個命令查看進程的實時使用情況,具體的使用方法可以用命令man topas查看。
8. aix 怎麼查看pid內線程的cpu佔用率
首先要查誰用CPU最多:顯示前10個累計佔用CPU時間的進程#ps -e|head -n 1;ps -e|grep -v"TIME|0:"|sort +2b -3 -n -r|head -n 10顯示前10個當前佔用CPU時間的進程#ps -ef|head -n 1;ps -ef|grep -v"C|0:00"|sort +3b -4 -n -r|head -n 10 Aix命令:列出使用內存和Cpu前幾位的進程 (1)顯示10個消耗cpu最多的進程 # ps aux |head -1 ;ps aux |sort -rn +2 |head -10(2)顯示10個消耗內存最多的進程 #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head -10(3)顯示10個換頁最多的進程 #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +4 |head -10(4)顯示10個消耗存儲空間最多的進程 #ps aux |head -1 ;ps aux |sort -rn +3 |head -10 如何監控進程的內存使用情況(AIX) AIX監控進程內存使用的工具比較多,個人覺得比較方便的有nmon,svmon,其中svmon是AIX自帶的工具,需要root許可權執行,可以監控進程詳細內存使用信息,如:svmon -P pid(要監控的進程PID) -i 1 (每秒刷新一次) |grep pid AIX下進程內存分析AIX下可以使用ps v工具或者svmon工具來分析進程內存。比如:#svmon -P 23288------------------------------------------------------------------------------- Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 23288 ora_pmon_V8 29598 1451 182 16560 N N Vsid Esid Type Description Inuse Pin Pgsp Virtual AddrRange 1781 3 work shmat/mmap 11824 0 0 118240..24700 1761 1 pers code,large file /dev 9681 0 - -0..9680 0 0 work kernel seg 3982 1450 182 33900..21804 : 65474..65535 18018 d work shared library text 2852 0 0 1580..65535 4764 2 work process private 1127 1 0 1127 面這幾個命令組合對於管理RS/6000 AIX系統有幫助: (1)顯示10個消耗CPU最多的進程: # ps aux |head -1 ;ps aux |sort -rn +2 |head –10 (2)顯示10個消耗存儲空間最多的進程: # ps aux |head -1 ;ps aux |sort -rn +3 |head -10 (3)按順序顯示系統中受罰的進程: #ps -eakl |head -1 ;ps -eakl |sort -rn +5 (4)按優先順序順序顯示系統中的進程: #ps -eakl |sort -n +6 |head (5)按處理時間為順序顯示系統中的前十個進程: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +3 |head –10 (6)按實際內存使用的多少順序顯示系統中的前十個進程: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head –10 (7)按換入頁面的多少順序顯示系統中的前10個進程: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +4 |head -10