Linux下ps aux命令 與 檢視CPU配置

2021-06-27 17:33:45 字數 3531 閱讀 4146

**:  

要對程序進行監測和控 制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,而 ps 命令就是最基本同時也是非常強大的程序檢視命令。使用該命令可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有僵死、哪些程序占用了過多 的資源等等。總之大部分資訊都是可以通過執行該命令得到的。

ps 為我們提供了程序的一次性的檢視,它所提供的檢視結果並不動態連續的;如果想對程序時間監控,應該用 top 工具。

kill 用於殺死程序。

1、ps 的引數說明

ps 提供了很多的選項引數,常用的有以下幾個:

l 長格式輸出;

u 按使用者名稱和啟動時間的順序來顯示程序;

j 用任務格式來顯示程序;

f 用樹形格式來顯示程序;

a 顯示所有使用者的所有程序(包括其它使用者);

x 顯示無控制終端的程序;

r 顯示執行中的程序;

ww 避免詳細引數被截斷;

我們常用的選項是組合是 aux 或 lax,還有引數 f 的應用。

2、ps aux 或 lax 輸出的解釋

user 程序的屬主;

pid 程序的id;

ppid 父程序;

%cpu 程序占用的cpu百分比;

%mem 占用記憶體的百分比;

ni 程序的nice值,數值大,表示較少占用cpu時間;

vsz 程序虛擬大小;

rss 駐留中頁的數量;

tty 終端id

stat 程序狀態(有以下幾種)

d 無法中斷的休眠狀態(通常 io 的程序);

r 正在執行可中在佇列中可過行的;

s 處於休眠狀態;

t 停止或被追蹤;

w 進入記憶體交換(從核心2.6開始無效);

x 死掉的程序(從來沒見過);

z 殭屍程序;

< 優先順序高的程序

n 優先順序較低的程序

l 有些頁被鎖進記憶體;

s 程序的領導者(在它之下有子程序);

l 多程序的(使用 clone_thread, 類似 nptl pthreads);

+ 位於後台的程序組;

wchan 正在等待的程序資源;

start 啟動程序的時間;

time 程序消耗cpu的時間;

command 命令的名稱和引數;

3、應用舉例

[root@localhost ~]# ps -aux |more

可以用 | 管道和 more 連線起來分頁檢視。

[root@localhost ~]# ps -aux > ps001.txt

[root@localhost ~]# more ps001.txt

這裡是把所有程序顯示出來,並輸出到ps001.txt檔案,然後再通過more 來分頁檢視。

4、kill 終止程序

有十幾種控制程序的方法,下面是一些常用的方法:

kill -stop [pid]

傳送sigstop (17,19,23)停止乙個程序,而並不消滅這個程序。

kill -cont [pid]

傳送sigcont (19,18,25)重新開始乙個停止的程序。

kill -kill [pid]

傳送sigkill (9)強迫程序立即停止,並且不實施清理操作。

kill -9 -1

終止你擁有的全部程序。

sigkill 和 sigstop 訊號不能**捉、封鎖或者忽略,但是,其它的訊號可以。所以這是你的終極**

**:more /proc/cpuinfo |grep "physical id"|uniq|wc -l

每個cpu是幾核(假設cpu配置相同)

more /proc/cpuinfo |grep "physical id"|grep "0"|wc -l

cat /proc/cpuinfo | grep processor

1. 檢視物理cpu的個數

#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l

2. 檢視邏輯cpu的個數

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

3. 檢視cpu是幾核

#cat /proc/cpuinfo |grep "cores"|uniq

4. 檢視cpu的主頻

#cat /proc/cpuinfo |grep mhz|uniq

#uname -a

linux euis1 2.6.9-55.elsmp #1 smp fri apr 20 17:03:35 edt 2007 i686 i686 i386 gnu/linux

(檢視當前作業系統核心資訊)

#cat /etc/issue | grep linux

red hat enterprise linux as release 4 (nahant update 5)

(檢視當前作業系統發行版資訊)

#cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

8  intel(r) xeon(r) cpu            e5410   @ 2.33ghz

(看到有8個邏輯cpu, 也知道了cpu型號)

#cat /proc/cpuinfo | grep physical | uniq -c

4 physical id      : 0

4 physical id      : 1

(說明實際上是兩顆4核的cpu)

#getconf long_bit32

(說明當前cpu執行在32bit模式下, 但不代表cpu不支援64bit)

#cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l8

(結果大於0, 說明支援64bit計算. lm指long mode, 支援lm則是64bit)

如何獲得cpu的詳細資訊:

linux命令:cat /proc/cpuinfo

用命令判斷幾個物理cpu,幾個核等:

邏輯cpu個數:

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

物理cpu個數:

# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

每個物理cpu中core的個數:

# cat /proc/cpuinfo | grep "cpu cores" | wc -l

是否為超執行緒?

如果有兩個邏輯cpu具有相同的」core id」,那麼超執行緒是開啟的。

每個物理cpu中邏輯cpu(可能是core, threads或both)的個數:

# cat /proc/cpuinfo | grep "siblings"

linux程序命令ps aux

linux程序命令名稱 ps命令 使用許可權 所有使用者 使用方式 ps options help 說明 顯示瞬間行程 process 的動態 引數 ps命令的引數非常多,在此僅列出幾個常用的ps命令引數並大略介紹含義 a 列出所有的行程 w 顯示加寬可以顯示較多的資訊 au 顯示較詳細的資訊 au...

Linux下ps ef和ps aux的區別

linux下顯示系統程序的命令ps,最常用的有ps ef 和ps aux。這兩個到底有什麼區別呢?兩者沒太大差別,討論這個問題,要追溯到unix系統中的兩種風格,system 風格和bsd 風格,ps aux最初用到unix style中,而ps ef被用在system v style中,兩者輸出略...

Linux下ps ef和ps aux的用法

ps命令 輸入下面的ps命令,顯示所有執行中的程序 其中,a 顯示所有程序 a 顯示終端中包括其它使用者的所有程序 x 顯示無控制終端的程序 任務 檢視系統中的每個程序。任務 檢視非root執行的程序 任務 檢視使用者vivek執行的程序 top命令 top命令提供了執行中系統的動態實時檢視。在命令...