⑴ linux top中rss和res的差別
pa aux和free中的內存概念,很復雜,
http://blogread.cn/it/article/6264?f=wb#original中碼鏈介紹到
RSS.resident set size 也就是每個進程用了具體的多少頁的內存。由於linux系統採用的是虛擬內存,進程的代碼,庫,堆備臘和棧使用的內存都會消耗內存,但是申請出來遲滾孫的內存,只要沒真正touch過,是不算的,因為沒有真正為之分配物理頁面。
RES:resident memory usage 即應用程序實際使用的內存,但未包含SWAP,以及未包含共享的內存
⑵ linux中查看進程命令ps aux和ps -ef
Linux下顯示系統進程的命令ps,最常用的有ps -ef 和ps aux。這兩個到底有什麼區別呢?兩者沒太大差別,討論這個問題,要追溯到Unix系統中的兩種風格,System V風格和BSD 風格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,兩者輸出略有不同。現在的大部分Linux系統都是可以同時使用這兩種方式的。
ps -ef 是用標準的格式顯示進程的、其格式如下:
其中各列的內容意思如下
UID //用戶ID、但輸出的是用戶名
PID //進程的ID
PPID //父進程ID
C //進程佔用CPU的百分比
STIME //進程啟動到現在的時間
TTY //該進程在那個終端上運行,若與終端無關,則顯示? 若為pts/0等,則表示由網路連接主機進程。
CMD //命令的名稱和參數
ps aux 是用BSD的格式來顯示、其格式如下:
同ps -ef 不同的有列有
USER //用戶名
%CPU //進程佔用的CPU百分比
%MEM //佔用內存的百分比
VSZ //該進程使用的虛擬內存量(KB)
RSS //該進程佔用的固定內存量(KB)(駐留中頁的數量)
STAT //進程的狀態
START //該進程被觸發啟動時間
TIME //該進程實際使用CPU運行的時間
其中STAT狀態位常見的狀態字元有
D //無法中斷的休眠狀態(通常 IO 的進程); uninterruptible sleep (usually IO)不可中斷
R //正在運行可中在隊列中可過行的;
S //處於休眠狀態;
T //停止或被追蹤; traced or stopped
W //進入內存交換 (從內核2.6開始無效);
X //死掉的進程 (基本很少見);
Z //僵屍進程; a defunct (」zombie」) process
< //優先順序高的進程
N //優先順序較低的進程
L //有些頁被鎖進內存;
s //進程的領導者(在它之下有子進程);
l //多線程,克隆線程(使用 CLONE_THREAD, 類似 NPTL pthreads);
+ //位於後台的進程組;
⑶ Linux中通過ps命令查看指定進程是否啟用的命令是什麼謝謝
顯示其他用戶啟動的進程(a)
查看系統中屬於自己的進程(x)
啟動這個進程的用戶和它啟動的時間(u)
使用「date -s」命令來修改系統時間
比如將系統時間設定成1996年6月10日的命令如下。
#date -s 06/10/96
將系統時間設定成下午1點12分0秒的命令如下。
#date -s 13:12:00
------------------------------------------------------
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 1340 440 ? S Nov05 0:04 init
root 2 0.0 0.0 0 0 ? SW Nov05 0:00 [keventd]
root 3 0.0 0.0 0 0 ? SW Nov05 0:00 [keventd]
...
------------------------------------------------------
USER域指明了是哪個用戶啟動了這個命令;
用戶可以查看某個進程佔用了多少CPU;
內存使用及其VSZ(虛擬內存大小)和RSS(常駐集大小):
VSZ表示如果一個程序完全駐留在內存的話需要佔用多少內存空間;
RSS指明了當前實際佔用了多少內存;
STAT顯示了進程當前的狀態:
"S":進程處在睡眠狀態,表明這些進程在等待某些事件發生--可能是用戶輸入或者系統資源的可用性;
last命令可以有效的查看系統登錄事件
在一個進程調用了exit之後,該進程並非馬上就消失掉,而是留下一個稱為僵屍進程(Zombie)的數據結構。在Linux進程的5種狀態中,僵屍進程是非常特殊的一種,它已經放棄了幾乎所有內存空間,沒有任何可執行代碼,也不能被調度,僅僅在進程列表中保留一個位置,記載該進程的退出狀態等信息供其他進程收集,除此之外,僵屍進程不再佔有任何內存空間。
系統調用exit的作用是使進程退出,但也僅僅限於將一個正常的進程變成一個僵屍進程,並不能將其完全銷毀。
進程一旦調用了wait,就立即阻塞自己,由wait自動分析是否當前進程的某個子進程已經退出,如果讓它找到了這樣一個已經變成僵屍的子進程,wait 就會收集這個子進程的信息,並把它徹底銷毀後返回;如果沒有找到這樣一個子進程,wait就會一直阻塞在這里,直到有一個出現為止。
轉載 ps aux 中STAT 解釋 收藏
運行 ps aux 的到如下信息:
ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
smmsp 3521 0.0 0.7 6556 1616 ? Ss 20:40 0:00 sendmail: Queue runner@01:00:00 f
root 3532 0.0 0.2 2428 452 ? Ss 20:40 0:00 gpm -m /dev/input/mice -t imps2
htt 3563 0.0 0.0 2956 196 ? Ss 20:41 0:00 /usr/sbin/htt -retryonerror 0
htt 3564 0.0 1.7 29460 3704 ? Sl 20:41 0:00 htt_server -nodaemon
root 3574 0.0 0.4 5236 992 ? Ss 20:41 0:00 crond
xfs 3617 0.0 1.3 13572 2804 ? Ss 20:41 0:00 xfs -droppriv -daemon
root 3627 0.0 0.2 3448 552 ? SNs 20:41 0:00 anacron -s
root 3636 0.0 0.1 2304 420 ? Ss 20:41 0:00 /usr/sbin/atd
dbus 3655 0.0 0.5 13840 1084 ? Ssl 20:41 0:00 dbus-daemon-1 --system
....................................
stat 中的參數意義如下:
D 不可中斷 Uninterruptible(usually IO)
R 正在運行,或在隊列中的進程
S 處於休眠狀態
T 停止或被追蹤
Z 僵屍進程
W 進入內存交換(從內核2.6開始無效)
X 死掉的進程
< 高優先順序
n 低優先順序
s 包含子進程
+ 位於後台的進程組
======================================
ps命令
要對進程進行監測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而ps命令就是最基本同時也是非常強大的進程查看命令.使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵屍、哪些進程佔用了過多的資源等等.總之大部分信息都是可以通過執行該命令得到的.
ps命令最常用的還是用於監控後台進程的工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入/輸出設備進行通信的,所以如果需要檢測其情況,便可以使用ps命令了.
1)ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有程序。
3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
4)ps -e 此參數的效果和指定"A"參數相同。
5)ps e 列出程序時,顯示每個程序所使用的環境變數。
6)ps f 用ASCII字元顯示樹狀結構,表達程序間的相互關系。
7)ps -H 顯示樹狀結構,表示程序間的相互關系。
8)ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
9)ps s 採用程序信號的格式顯示程序狀況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程序的狀況。
12)ps u 以用戶為主的格式來顯示程序狀況。
13)ps x 顯示所有程序,不以終端機來區分。
最常用的方法是ps -aux,然後再利用一個管道符號導向到grep去查找特定的進程,然後再對特定的進程進行操作。
linux上進程有5種狀態:
1. 運行(正在運行或在運行隊列中等待)
2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生)
4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)
5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行)
ps工具標識進程的5種狀態碼:
D 不可中斷 uninterruptible sleep (usually IO)
R 運行 runnable (on run queue)
S 中斷 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (」zombie」) process
注: 其它狀態還包括W(無駐留頁), <(高優先順序進程), N(低優先順序進程), L(內存鎖頁).
使用ps格式輸出來查看進程狀態:
ps -eo user,stat..,cmd
user 用戶名
uid 用戶號
pid 進程號
ppid 父進程號
size 內存大小, Kbytes位元組.
vsize 總虛擬內存大小, bytes位元組(包含code+data+stack)
share 總共享頁數
nice 進程優先順序(預設為0, 最大為-20)
priority(pri) 內核調度優先順序
pmem 進程分享的物理內存數的百分比
trs 程序執行代碼駐留大小
rss 進程使用的總物理內存數, Kbytes位元組
time 進程執行起到現在總的CPU暫用時間
stat 進程狀態
cmd(args) 執行命令的簡單格式
例子:
查看當前系統進程的uid,pid,stat,pri, 以uid號排序.
ps -eo pid,stat,pri,uid –sort uid
查看當前系統進程的user,pid,stat,rss,args, 以rss排序.
ps -eo user,pid,stat,rss,args –sort rss
名稱:ps
使用許可權:所有使用者
使用方式:ps [options] [--help]
說明:顯示瞬間行程 (process) 的動態
參數:
ps 的參數非常多, 在此僅列出幾個常用的參數並大略介紹含義
-A 列出所有的行程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
au(x) 輸出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程擁有者
PID: pid
%CPU: 佔用的 CPU 使用率
%MEM: 佔用的記憶體使用率
VSZ: 佔用的虛擬記憶體大小
RSS: 佔用的記憶體大小
TTY: 終端的次要裝置號碼 (minor device number of tty)
STAT: 該行程的狀態:
D: 不可中斷的靜止
R: 正在執行中
S: 靜止狀態
T: 暫停執行
Z: 不存在但暫時無法消除
W: 沒有足夠的記憶體分頁可分配
<: 高優先序的行程
N: 低優先序的行程
L: 有記憶體分頁分配並鎖在記憶體內
START: 行程開始時間
TIME: 執行的時間
COMMAND:所執行的指令
⑷ Linux單獨的ps命令作用是什麼
Linux ps命令,英文全拼process
status。用於顯示當前進程的狀態,類似於Windows的任務管理器。運用該命令可以確定有哪些進程正在運行和運行地狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多地資源等等。
Linux系統中ps命令如何使用?
語法
ps [options] [--help]
參數(ps的參數比較多,在這里為大家簡單列舉幾個常用的)
-A 列出所有的進程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
au(x) 輸出格式:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER:行程擁有者
PID:pid
%CPU:佔用的CPU使用率
%MEM:佔用的記憶體使用率
VSZ:佔用的虛擬記憶體大小
RSS:佔用的記憶體大小
TTY:終端的次要裝置號碼
STAT:該行程的狀態
①D 無法中斷的休眠狀態
②R 正在執行中
③S 靜止狀態
④T 暫停執行
⑤Z 不存在但暫時無法消除
⑥W 沒有足夠的記憶體分頁可分配
⑦< 高優先序的行程
⑧N 低優先序的行程
⑨L 有記憶體分頁分配並鎖在記憶體內
START:行程開始時間
TIME:執行的時間
COMMAND:所執行的指令
⑸ Linux ps命令:用於顯示當前進程 (process) 的狀態
ps [options] [—help]
ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C <指令名稱>][-g <群組名稱>]
[-G <群組識別碼>][-p <進程識別碼>][p <進程識別碼>][-s <階段作業>]
[-t <終端機編號>][t <終端機編號>][-u <用戶識別碼>][-U <用戶識別碼>]
[U <用戶名稱>][-<進程識別碼>][--cols <每列字元數>]
[--columns <每列字元數>][--cumulative][--deselect][--forest]
[--headers][--help][-- info][--lines <顯示列數>][--no-headers]
[--group <群組名稱>][-Group <群組識別碼>][--pid <進程識別碼>]
[--rows <顯示列數>][--sid <階段作業>][--tty <終端機編號>]
[--user <用戶名稱>][--User <用戶識別碼>][--version]
[--width <每列字元數>]
-a 顯示所有終端機下執行的進程,除了階段作業領導者之外
a 顯示現行終端機下的所有進程,包括其他用戶的進程
-A 顯示所有進程
-c 顯示CLS和PRI欄位
c 列出進程時,顯示每個進程真正的指令名稱,而不包含路徑,參數或常駐服務的標示
-C<指令名稱> 指定執行指令的名稱,並列出該指令的進程的狀況
-d 顯示所有進程,但不包括階段作業領導者的進程
-e 此參數的效果和指定"A"參數相同
e 列出進程時,顯示每個進程所使用的環境變數
-f 顯示UID,PPIP,C與STIME欄位
f 用ASCII字元顯示樹狀結構,表達進程間的相互關系
-g<群組名稱> 此參數的效果和指定"-G"參數相同,當亦能使用階段作業領導者的名稱來指定
g 顯示現行終端機下的所有進程,包括群組領導者的進程
-G<群組識別碼> 列出屬於該群組的進程的狀況,也可使用群組名稱來指定
h 不顯示標題列
-H 顯示樹狀結構,表示進程間的相互關系
-j或j 採用工作控制的格式顯示進程狀況
-l或l 採用詳細的格式來顯示進程狀況
L 列出欄位的相關信息
-m或m 顯示所有的執行緒
n 以數字來表示USER和WCHAN欄位
-N 顯示所有的進程,除了執行ps指令終端機下的進程之外
-p<進程識別碼> 指定進程識別碼,並列出該進程的狀況
p<進程識別碼> 此參數的效果和指定"-p"參數相同,只在列表格式方面稍有差異
r 只列出現行終端機正在執行中的進程
-s<階段作業> 指定階段作業的進程識別碼,並列出隸屬該階段作業的進程的狀況
s 採用進程信號的格式顯示進程狀況
S 列出進程時,包括已中斷的子進程資料
-t<終端機編號> 指定終端機編號,並列出屬於該終端機的進程的狀況
t<終端機編號> 此參數的效果和指定"-t"參數相同,只在列表格式方面稍有差異
-T 顯示現行終端機下的所有進程
-u<用戶識別碼> 此參數的效果和指定"-U"參數相同
u 以用戶為主的格式來顯示進程狀況
-U<用戶識別碼> 列出屬於該用戶的進程的狀況,也可使用用戶名稱來指定
U<用戶名稱> 列出屬於該用戶的進程的狀況
v 採用虛擬內存的格式顯示進程狀況
-V或V 顯示版本信息
-w或w 採用寬闊的格式來顯示進程狀況。
x 顯示所有進程,不以終端機來區分
X 採用舊式的Linux i386登陸格式顯示進程狀況
-y 配合參數"-l"使用時,不顯示F(flag)欄位,並以RSS欄位取代ADDR欄位
-<進程識別碼> 此參數的效果和指定"p"參數相同
--cols<每列字元數> 設置每列的最大字元數
--columns<每列字元數> 此參數的效果和指定"--cols"參數相同
--cumulative 此參數的效果和指定"S"參數相同
--deselect 此參數的效果和指定"-N"參數相同
--forest 此參數的效果和指定"f"參數相同
--headers 重復顯示標題列
--help 在線幫助
--info 顯示排錯信息
--lines<顯示列數> 設置顯示畫面的列數
--no-headers 此參數的效果和指定"h"參數相同,只在列表格式方面稍有差異
--group<群組名稱> 此參數的效果和指定"-G"參數相同
--Group<群組識別碼> 此參數的效果和指定"-G"參數相同
--pid<進程識別碼> 此參數的效果和指定"-p"參數相同
--rows<顯示列數> 此參數的效果和指定"--lines"參數相同
--sid<階段作業> 此參數的效果和指定"-s"參數相同
--tty<終端機編號> 此參數的效果和指定"-t"參數相同
--user<用戶名稱> 此參數的效果和指定"-U"參數相同
--User<用戶識別碼> 此參數的效果和指定"-U"參數相同
--version 此參數的效果和指定"-V"參數相同
--widty<每列字元數> 此參數的效果和指定"-cols"參數相同
-A 列出所有的行程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
linux上進程有5種狀態:
1. 運行(正在運行或在運行隊列中等待)
2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生)
4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)
5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行)
ps工具標識進程的5種狀態碼:
D 不可中斷 uninterruptible sleep (usually IO)
R 運行 runnable (on run queue)
S 中斷 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (」zombie」) process
1、# ps aux //顯示所有正在內存中的程序
USER:該 process 屬於那個使用者賬號的
PID :該 process 的號碼
%CPU:該 process 使用掉的 CPU 資源百分比
%MEM:該 process 所佔用的物理內存百分比
VSZ :該 process 使用掉的虛擬內存量 (Kbytes)
RSS :該 process 佔用的固定的內存量 (Kbytes)
TTY :該 process 是在那個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程序,若為 pts/0 等等的,則表示為由網路連接進主機的程序。
STAT:該程序目前的狀態,主要的狀態有
R :該程序目前正在運作,或者是可被運作
S :該程序目前正在睡眠當中 (可說是 idle 狀態),但可被某些訊號 (signal) 喚醒。
D: 無法中斷的休眠狀態 (通常 IO 的進程)
T :該程序目前正在偵測或者是停止了
Z :該程序應該已經終止,但是其父程序卻無法正常的終止他,造成 zombie (疆屍) 程序的狀態
<: 高優先序的行程
N: 低優先序的行程
L: 有記憶體分頁分配並鎖在記憶體內 (實時系統或捱A I/O)
START:該 process 被觸發啟動的時間
TIME :該 process 實際使用 CPU 運作的時間
COMMAND:該程序的實際指令
2、# ps -A 顯示進程信息
3、# ps -u work //顯示work進程用戶信息
4、# ps -ef //顯示所有命令,連帶命令行
5、# ps -l //將屬於自己這次登入的pid與相關信息顯示出來
F:代表這個程序的旗標 (flag), 4 代表使用者為 super user
S:代表這個程序的狀態 (STAT)
UID:程序被該 UID 所擁有
PID:就這個程序的 ID
PPID:其上級父程序的ID
C:CPU使用的資源百分比
PRI: Priority (優先執行序) 的縮寫
NI: Nice 值
ADDR:kernel function,指出該程序在內存的那個部分。如果是個 running的程序,一般就是 "-"
SZ:使用掉的內存大小
WCHAN:目前這個程序是否正在運作當中,若為 - 表示正在運作
TTY:登入者的終端機位置
TIME:使用掉的 CPU 時間。
CMD:所下達的指令為何
在預設的情況下, ps 僅會列出與目前所在的 bash shell 有關的 PID,所以, 當使用 ps -l 的時候,只有三個 PID。
6、其他
1)可以用 | 管道和 more 連接起來分頁查看
命令:ps -aux |more
2)把所有進程顯示出來,並輸出到ps001.txt文件
命令:ps -aux > ps001.txt
3)輸出指定的欄位
命令:ps -o pid,ppid,pgrp,session,tpgid,comm
⑹ vss pss rss 哪個用來內存消耗
RSS列表示,程序佔用了多少物理內存。
虛擬內存可以不用考慮,它並不佔用實際物理內存。
(2)。
top命令也可以其中VIRT(或VSS)列表示,程序佔用了多少虛擬內存。
同psaux中的VSZ列RES列表示,程序佔用了多少物理內存。
同psaux中的RSS列2.在linux下,查看當前系統佔用了多少內存,一般的命令是free其中,free就是系統還有多少內存可以使用。
但由於linux系統對內存使用有一個原則,就是,內存是寶貴的,能使用多少就使用多少。
所以,linux會把已經調用過的包緩存起來,放在內存里。
這樣,實際上,可以使用的內存,就可以理解為,free+buffers+cached3.當了解完這些命令以後,再去使用psaux命令去查看的時候,會發現一個奇怪的現象。
所有的RSS列的數據,加起來,比物理內存的數要大很多。
比如,物理內存為2G,而RSS列的數據加起來,可能有5個G之多,這是怎麼回事了?這是因為RSS列的值騙了。
linux的內存機制是這樣的:在運行一個程序時,linux會調用該程序依賴的鏈接庫,如lib.xx.so。
首先看該鏈接庫是否被映射進內存中,如果沒有被映射,則將代碼段與數據段映射到內存中,否則只是將其加入進程的地址空間。
這樣,當N個程序,依賴到lib.xx.so的時候,實際上,內存中只有一個lib.xx.so,而不是N個。
而RSS在顯示一個程序佔用的實際物理內存時,將lib.xx.so也算了進來。
比如,X程序,本身佔用內存為5M,lib.xx.so佔用內存2M,lib.xx.so被N個程序共享依賴。
則RSS顯示為,X程序運行,佔用內存為7M。
實際上,X程序佔用了5M空間。
多餘的2m被討入到RSS中了。
當在用psaux顯示內存佔用情況時,N個共享依賴lib.xx.so的N個程序,都把這2m空間,算在自己的RSS中了,這樣RSS的sum值,就比實際物理內存多了。
當然,linux的內存使用機制很復雜,不是一句兩句能說清楚的。
這里只是簡單的說明了一下,psaux中的RSS值,並不能真實反映物理內存的使用情況。
4.如果查看更詳細的內存使用情況,可用以下幾種方法,或者幾種方法結合使用:這幾種方法,都需要root賬戶的許可權(1)。
pmap-d$pid$pid是正在運行的程序的pid(2)。
cat/proc/$pid/smapssmaps的數據比較詳細,可簡單的歸納一下,歸納的命令如下:cat/proc/$pid/smaps|awk'/Size|Rss|Pss|Shared|Private|Referenced|Swap/{val_name=gensub(/([a-zA-Z_]*)。
*/,「\\1」,1,$1);list[val_name]+=$2;}END{for(valinlist)printval,list[val];}『(3)。
cat/proc/$pid/maps(4)。
cat/proc/$pid/statm輸出解釋第一列size:任務虛擬地址空間大小
第二列Resident:正在使用的物理內存大小
第三列Shared:共享頁數
第四列Trs:程序所擁有的可執行虛擬內存大小
第五列Lrs:被映像倒任務的虛擬內存空間的庫的大小
第六列Drs:程序數據段和用戶態的棧的大小
第七列dt:臟頁數量(5)。
vmstat這個命令據說也可以提供一些參考信息,具體還未研究5.作為phper,嘗試過使用php的函數memory_get_usage(),該函數也不能得到php當前運行的程序,實際的,真正佔用的內存數量。
如果真想得到,php真正佔用的內存,大概只能在,程序運行的開始,執行一次memory_get_usage()。
在程序運行結束,執行一次memory_get_usage()。
將兩者的值相減,得到的值,應該是一個相對比較准確的,內存佔用數量了。
這個方法還沒有測試,考慮到,得到這個數量,也沒有實際意義,加上平時又比較忙,懶得試了。
⑺ linux ps aux vsz和rss的區別
VSZ: 佔用的虛擬內存頌信大小,表示如果一個程序完全駐留在內存的話需要脊衡佔用多少內野野輪存空間
RSS:指明了當前實際佔用了多少內存