solaris Cpu /Linux下如何查看cpu

Linux下如何查看cpu數量和memory數量 - [Linux學習]

1) .CPU數量

hp-unix

ioscan -C processor | grep processor | wc -l

Solais

psrinfo -v | grep Status of processor |wc -l

linux

cat /proc/cpuinfo/grep processor|wc -l

AIXlsdev -C | grep -i processor|wc -l


2).Memery數量

solaris

prtconf | grep -i mem

AIX

root>lsdev -C |grep mem

memo    Available  00-00 Memory

可見mem0是該aix設備上的內存設備名稱,現在使用lsattr -EI 來查看該服務器上的內存數量

root>lsattr -EI memo

LINUX

free

HP-UNIXswapinfo -tm

///////////////////////////////////////

查看linux cpu信息
#dmidecode

#cat /proc/cpuinfo

查看linux 內存信息
#cat /proc/meminfo

#top
#free

查看linux硬盤大小
#df -hl

#fdisk

 

Solaris下查看CPU、內存等信息可以使用下邊的命令:
#prtdiag -v

查看硬盤信息爲:
#iostat -E

 

 

第二節:內存

1、solaris

  solaris通常使用vmstat命令來查看系統的虛擬內存子系統的狀態信息。vmstat可顯示swap,物理內存,分頁錯誤,磁盤信息統計和錯誤等信息.

bash-3.00$ vmstat 2 3
kthr      memory            page            disk          faults      cpu
r b w   swap  free  re  mf pi po fr de sr f0 s0 s1 s2   in   sy   cs us sy id
0 0 0 730888 228436 43 196 62  1  1  0 38  0  6  0  0  313  557  343  3 10 87
0 0 0 731096 221556  3  25  0  0  0  0  0  0  0  0  0  341  111  208  0  3 97
0 0 0 731092 221548  0   0  0  0  0  0  0  0  0  0  0  334   90  205  8  3 89
【注意】
  swap爲空餘的swap空間(此處的swap爲總的swap空間而不僅僅指swap分片的空間),free爲空餘的可用物理內存

  列出用於交換空間的硬盤分片或文件的使用情況:

bash-3.00# swap -l
交換文件             dev  swaplo blocks   free
/dev/dsk/c1t0d0s3   54,3       8 1048568 1048568

  列出交換空間的總體使用情況:

bash-3.00# swap -s
總數:分配了 113024k 字節 + 保留 15340k = 已使用 128364k,730172k 可用

  查看內存分頁的彙總情況

bash-3.00# echo ::memstat | mdb -k
Page Summary                Pages                MB  %Tot
------------     ----------------  ----------------  ----
Kernel                      27734               108   22%
Anon                        29908               116   23%
Exec and libs                5862                22    5%
Page cache                  12306                48   10%
Free (cachelist)            18780                73   15%
Free (freelist)             34320               134   27%

Total                      128910               503

  此外還可以使用kstat查看內存的詳細信息(以每個內存模塊爲單位)

$ kstat -m vmem | more
module: vmem                            instance: 1    
name:   heap                            class:    vmem
        alloc                           6254
        contains                        0
        contains_search                 0
        crtime                          0
        fail                            0
        free                            1200
        lookup                          113
        mem_import                      0
        mem_inuse                       86376448
        mem_total                       1646524366848
        populate_fail                   0
        populate_wait                   0
        search                          4381
        snaptime                        2441.858424006
        vmem_source                     0
        wait                            0
        ......

第三節:網絡負荷監控
1、solaris

        最常見的都是用netstat命令,且redhat和solaris的常見使用方法基本一致。netstat命令可用來查看路由表、當前活躍的網絡連接、各種網絡數據結構、流內存統計,接口狀態、DHCP等信息。常見的使用方式有:

 

 

netstat -rn   看路由
netstat -in   看流量統計
netstat -an  看連接信息
netstat -pn  看ARP解析表(MAC-IP映射表)


此外,solaris可以使用kstat命令查看網絡信息

bash-3.00$ kstat -m e1000g | more                             模塊(-m)可填網卡驅動類型,比如e1000g,e1000g0,bge,hme...
module: e1000g                          instance: 0    
name:   e1000g0                         class:    net
        brdcstrcv                       0
        brdcstxmt                       0
        collisions                      0
        crtime                          43.023212228
        ierrors                         0
        ifspeed                         1000000000
        ipackets                        3421
        ipackets64                      3421

 

ps -eo pid,pcpu,args |sort +1n

 

  solaris下查看進程的cpu佔用率 收藏
solaris下查看某進程的資源佔用率及其它

1.     # ps -eo pid,pcpu,args | sort +1n

該命令輸出當前系統進程的pid, cpu佔用率及命令描述,並以pcpu來排序(嘗試過,沒有成功,據說在RedHat上可行的。)

2. top -p <pid>

 


不同的系統top的設置不盡相同,因此使用時需要注意。

3. prstat -p <pid>

 


prstat 檢查系統中進程佔用CPU,內存等情況。可以代替top,不過好像solaris5.8之後纔有,5.7上就沒有。

4. 查看IO情況 iostat


iostat -x -I 1 若系統明顯變慢,也可用此命令檢查磁盤I/O情況


5. 查看CPU 可以用 psrinfo -v

查看詳細信息

/usr/platform/sun4u/sbin/prtdiag -v

 6. sar

sar -u 3 20 若系統明顯變慢,用此命令檢查cpu佔用率
sar –r 3 20 用此命令檢查內存使用情況

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/bonny95/archive/2009/09/15/4555216.aspx

 

 

 

 

Solaris進程的查看和管理
2009-03-07 15:53

1、什麼是進程?

進程:可併發執行的程序在一定數據集合上的運行過程。進程即是資源分配的基本單位,也是調度和分派的基本單位。

2、UNIX操作系統進程調度算法:

多級反饋調度隊列算法。

3、進程狀態:創建、初始、就緒(活動、靜止)、執行、阻塞(活動、靜止)、結束。

4、進程監控命令:

ps 命令和進程工具/usr/proc/bin下的工具級。
可以將ps和grep命令組合使用來搜索特定的信息。

5、/usr/proc/bin的命令介紹:

pstop 停止進程
prun pid 重新啓動進程
ptime pid 使用微狀態計算進程時間
pwait pid 等待指定的進程終止.
pcred pid 顯示可信度
pfiles pid 顯示已打開文件的fstat 和fcntl 信息
pflags pid 顯示每個lwp 的/proc 跟蹤標誌,等待和持有信號量以及其他狀
態信息
pldd pid 顯示鏈接到每個進程的動態鏈接庫
pmap pid 顯示地址映射空間
psig pid 顯示信號操作
pstack pid 顯示每個lwp 的十六進制與符號堆跟蹤
ptree pid 顯示包含指定PID 的進程樹
pwdx oid 顯示當前工作目錄

6、ps命令格式:

ps [ -aAdeflcjLPy ] [ -o format ] [ -t termlist ] [ -u userlist ] [ -U userlist ] [ -G grouplist ] [ -p proclist ] [ -g pgrplist ] [ -s sidlist ]

7、常用的參數:

-e 輸出所有進程報告
-f 在第一欄顯示進程所有者的名字(不是UID)。該選項關閉-l、–t、–s 和–r 選項,打開-a 選項。
-l 產生一個長的輸出報告,只是不包含STIME 字段

8、ps -el的相關輸出參數解釋:

bash-2.05$ ps -el

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
19 T 0 0 0 0 0 SY ? 0 ? 0:16 sched
8 S 0 1 0 0 40 20 ? 151 ? ? 0:00 init
19 S 0 2 0 0 0 SY ? 0 ? ? 0:00 pageout
19 S 0 3 0 0 0 SY ? 0 ? ? 0:30 fsflush
8 S 0 377 1 0 40 20 ? 223 ? ? 0:00 sac
8 S 0 378 1 0 40 20 ? 224 ? console 0:00 ttymon
8 S 0 131 1 0 40 20 ? 289 ? ? 0:00 rpcbind

F 十六進制標誌,它們加起來表示進程的當前狀態。如下所述:
00 進程終止,而且它們在進程表中的空間已釋放。
01 系統進程,長駐內存
02 進程被父進程跟蹤
04 進程被父進程跟蹤而且已被停止
08 該進程無法被信號量喚醒
10 該進程當前在內存中,而且被鎖定直到一個事件完成
20 進程不能被交換出

S 進程當前狀態,由以下字母之一顯示:
O 當前正在處理器上運行
S 睡眠;等待I/O事件完成
R 運行結束
I 空閒;進程被創建
Z 僵死。進程已終止
T 由於父進程跟蹤而停止
X 等待更多的內存

UID 進程所有者的用戶ID
PID 進程ID
PPID 父進程ID
C 進程的CPU使用情況(即進程佔CPU時間的百分比)
PRI 進程優先權方案。較大的數表示較低的優先權
NI 進程的nice值,該值與優先權方案相關聯。使一個進程“nicer”意指降低該進程的優先權,以使它不會用盡CPU的時間
SZ 進程請求的虛擬內存量。這是該系統對內存需求的一個好的指標。
TTY 啓動進程(或者父進程)的終端。帶問號的進程無控制終端(通常爲系統進程)
TIME 自進程啓動以來佔CPU時間總量
COMD 產生進程的命令

9、使用ps報告。

查找屬於一個用戶的許多相同的工作。Kill命令終止進程。 ps -U username
查找TIME字段中佔用了很多CPU時間的進程。這樣的進程可能在死循環。ps -e
查找C字段,找出不重要但佔用了大量CPU時間的進程。如果該進程獲取過多內存,刪除該進程。如果許多進程佔用了大量內存,則系統可能需要增加內存。ps -el
注意使用越來越多CPU時間的失控進程。可以通過使用-f選項查看進程啓動時間(STIME)以及通過查看TIME字段中的CPU時間總量來檢測失控進程。 ps -f

10、刪除進程。

在正常途徑無法結束時才使用刪除命令。
#kill - signal pid
signal:57
signal:
2 中斷
3 退出
4 非法指令
5 跟蹤中斷
6 Abort
7 EMT指令(Emulation競爭trap)

8 浮點格式的異常情況
9 kill(不能被捕獲或忽略)
10 通道錯誤
11不合法的內存區段
12 錯誤系統調用
13 寫入不可讀的連通管道
14 alarm clock
15 軟件結束信號
16 用戶定義的信號1
17用戶定義的信號2
18 子進程狀態被改變
19 電源壞掉
20窗口(Window)的大小被改變
21Urgent(緊急的) Socket Condition
22 Pollable(可查詢的)event
23 停止
24 由用戶終止
25 繼續執行
26 停止終端輸入
27 停止終端輸出
28 virtual Timer expired
29 Profiling time expired
30 超過CPU時間
31 超過文件大小限制
32 Socket I/O possible

有時即使用kill命令,但進程仍未被刪除。最有可能的三種情況:
進程在退出前等待設備完成操作。
進程在等待由於NFS故障而導致的無法使用的資源。要刪除此類進程,輸入kill -quit PID
進程爲僵死進程,在ps報告的defunct的消息中顯示。僵死進程是釋放了所有資源,但未接受到父進程確認的進程。只有收到確認才刪除進程在進程表中的入口。下一次引導時僵死進程會被清除。僵死進程不影響系統性能,不需要刪除。

11、優先權控制命

使用priocntl命令可以:
顯示或設置指定進程的調度參
顯示系統調度程序的當前配置信息
執行帶有指定調度參數的命令
每個進程都有不同的級,每級分配有各自不同的調度策略。
系統可能配置的級包括:
系統(SYS)
交互(IA)
實時(RT)
分式共享(TS)
對於分式共享級,用戶提供的優先權範圍爲:-20~+20。一個
分時共享進程的優先權(用戶模式優先權)是從父進程繼承
而來。系統在分時調度表中查找用戶模式優先權,加入任何
nice值或這者priocntl優先權值(用戶提供),保證創建的全
局優先權在0~59之間。
在默認配置中,一個可運行的實時進程在任何其它進程之前運行。實時進程使用不當會導致系統性能急劇下降。
1. 顯示進程級的基本信息(進程級或系統調度參數):
輸入priocntl -l並回車
2. 顯示進程的全局優先級
使用ps -ecl命令顯示進程的全局優先權。全局優先權在PRI欄列出
3、指定進程的優先級:
輸入priocntl -e -c class -m user -limit -p priority command - name回車
-e 執行命令
-c 指定級(默認選項是TS(分時共享)或RI(實時)
-m 用戶限制選項,指定-p選項提升或降低優先權的最大量。
-p 允許指定用戶提供的優先權,範圍爲-20~+20。

4.更改分時共享進程的調度參數
依照以下步驟更改分時共享進程的調度參數:
1)成爲超級用戶。
2)輸入priocntl -s -m user -limit [-p priority] -i id type id -list回車。
-s允許設置用戶優先權範圍的上限
-m 用戶限制選項,指定-p選項提升或降低優先權的最大量。
-p優先權命令名選項,允許指定優先權。
-I id -type和id -list選項使用id -type和id -list的組合標識進程, id -
type指定id類型,如PID或UID。
3)輸入ps -ecl|grep id -list回車。
4)檢查PRI欄的輸出,驗證已經成功地更改了進程狀態。
% priocntl -s -c RT -t 500 -p 20 myprog
% ps -ecl|grep myprog

5. 更改進程
依照以下步驟更改進程級:
1)成爲超級用戶。
2)輸入priocntl -s -c class -i id type id -list回車。
-s允許設置用戶優先權範圍的上限並更改優先權
-c 指定想更改的進程級爲TS(分時共享)級或RI(實時)級
-I id -type和id -list選項使用id -type和id -list的組合標識進程, id -type指定id
類型,如PID或UID。
3)輸入ps -ecl|grep id -list回車。
4)檢查PRI欄的輸出,驗證已經成功地更改了進程狀態。
注意:必須是超級用戶或者在實時shell中操作,更改進程級爲非實時級或者實時級。

6、更改進程優先級
使用nice命令可以提高或降低一個命令或進程的優先權。
不帶參數使用該命令則默認nice值增4個單位,使進程優先
權降低。
注意:必須是超級用戶才能。

/usr/bin/nice command -name(默認,進程的優先權降低4個單位)
/usr/bin/nice +10 command -name(進程的優先權降低10個單位)
/usr/bin/nice -10 command -name(進程的優先權增加10個單位)
/usr/bin/nice - -10 command -name(nice 值減少10個單位,提高一個命令的優先權)
   
[轉]Solaris下簡單的查看端口號被哪個進程佔用的方法

 

 

 


1. Solaris 10及一些系統補丁的安裝日誌一般可以在/var/sadm/install_data目錄和/var/sadm/install目錄中找到。
2. 用戶登錄日誌可以使用last命令列出
3. a) netstat -na | grep -i listen通常可以看到目前系統偵聽的端口號
    b) netstat -f inet 和 netstat -f inet6可以看到目前所建立的連接
    c) 要想知道某個端口被那個進程所使用,可以使用下面的方面得知:

-bash-3.00# cd /proc
-bash-3.00# for i in *
> do
> echo ------ process $i ---------
> pfiles $i | grep -i "port: 32805"
> done
------ process 0 ---------
------ process 1 ---------
------ process 1025 ---------
------ process 1035 ---------
------ process 1037 ---------
------ process 1038 ---------
------ process 1039 ---------
------ process 1040 ---------
------ process 1041 ---------
------ process 1166 ---------
------ process 123 ---------
------ process 12535 ---------
------ process 12536 ---------
------ process 134 ---------
------ process 141 ---------
------ process 142 ---------
------ process 148 ---------
------ process 164 ---------
------ process 1679 ---------
------ process 1807 ---------
------ process 1817 ---------
------ process 18459 ---------
------ process 18462 ---------
------ process 18464 ---------
------ process 18612 ---------
------ process 18613 ---------
------ process 18615 ---------
------ process 18639 ---------
------ process 18653 ---------
------ process 18680 ---------
------ process 2 ---------
------ process 226 ---------
------ process 290 ---------
------ process 3 ---------
------ process 302 ---------
------ process 303 ---------
------ process 311 ---------
------ process 334 ---------
------ process 372 ---------
------ process 376 ---------
------ process 397 ---------
------ process 398 ---------
------ process 400 ---------
------ process 416 ---------
------ process 418 ---------
------ process 432 ---------
------ process 434 ---------
------ process 435 ---------
------ process 436 ---------
------ process 442 ---------
------ process 443 ---------
------ process 458 ---------
------ process 463 ---------
------ process 464 ---------
------ process 465 ---------
------ process 564 ---------
------ process 565 ---------
------ process 566 ---------
------ process 598 ---------
------ process 599 ---------
------ process 613 ---------
------ process 619 ---------
------ process 631 ---------
------ process 633 ---------
------ process 634 ---------
------ process 637 ---------
------ process 651 ---------
------ process 653 ---------
------ process 666 ---------
------ process 686 ---------
------ process 689 ---------
------ process 6929 ---------
------ process 6932 ---------
------ process 6934 ---------
------ process 6958 ---------
------ process 6959 ---------
------ process 6960 ---------
------ process 7 ---------
------ process 763 ---------
------ process 834 ---------
------ process 836 ---------
------ process 837 ---------
------ process 838 ---------
------ process 839 ---------
------ process 840 ---------
------ process 9 ---------
------ process 990 ---------
------ process 991 ---------
------ process 992 ---------
        peername: AF_INET 127.0.0.1  port: 32805
------ process 993 ---------
------ process 994 ---------
        sockname: AF_INET 127.0.0.1  port: 32805

從以上的結果可以得知,端口32805被進程992和994所使用。可以進一步使用pfiles <pid>來確認。

ps -e -o pid,pcpu,pmem,comm | more
  PID %CPU %MEM COMMAND
    0  0.0  0.0 sched
    1  0.0  0.0 /etc/init
    2  0.0  0.0 pageout
    3  0.1  0.0 fsflush
1406  0.0  0.1 /usr/lib/saf/sac
  805  0.0  0.0 /usr/lib/utmpd
  620  0.0  0.1 /usr/lib/nfs/lockd
   17  0.0  0.2 vxconfigd
   74  0.0  0.1 /usr/lib/sysevent/syseventd
  161  0.0  0.1 /sbin/vxesd
  348  0.1  0.1 /usr/lib/picl/picld
   80  0.0  0.0 /usr/lib/sysevent/syseventconfd
  472  0.0  0.5 /opt/VRTSob/bin/vxsvc
  151  0.0  0.1 devfsadmd

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章