歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux確認工作在SMP環境中

Linux確認工作在SMP環境中

日期:2017/2/28 15:29:01   编辑:Linux教程

在一次troubleshooting的過程中,需要確認系統是否已經工作在SMP環境中,並查看各個cpu的負載情況,下面總結了一下方法。


第一:確認安裝的RedHat 5.8是開啟了SMP(Symmetric Multi-Processing對稱多處理結構)服務的。
[root@cepsvr1 ~]# uname -a
Linux cepsvr1 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
內核標志中“SMP”,代表支持SMP

第二:確認是否開啟了irqbalance服務:
該服務能夠在多個CPU之間均衡分配硬件中斷,能夠幫助SMP系統CPU負載均衡的目的。
[root@cepsvr1 ~]# service irqbalance status irqbalance (pid 30948) is running...
通過cat /proc/interrupts能看到硬件中斷信息在各個cpu上面的分配情況


第三:查看(pid=4539)的這個java進程運行在哪幾個cpu上面:
[root@cepsvr1 ~]# taskset -p 4539
pid 4539's current affinity mask: f
[root@cepsvr1 ~]#
說明:
Cpu ID 號碼,對應的16進制數為:
Zero-based CPU ID: 7 6 5 4 3 2 1 0
Decimal Value: 128 64 32 16 8 4 2 1
我們的系統中cpu ID 的為(0,1,2,3),
pid 4539's current affinity mask:f的值為cpu ID 16進制的值的和(1+2+4+8=f)
這個說明了(pid=4539)的這個java進程工作在cpu ID 分別為0,1,2,3這個四個cpu上面的。

第四:top命令查看各個cpu的使用情況:
通過鍵入:
1. top -d 1
2.1
可以看到各個CPU的使用情況。
3.再鍵入大寫的i。
關閉top的Irix mode模式,是其工作在Solaris mode模式下,真正的SMP環境中,此模式下cpu的使用率會被除以cpu的個數。

Copyright © Linux教程網 All Rights Reserved