bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

進程內存使用PSS和VSZ的區別

進程內存使用PSS和VSZ的區別,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

為郾城等地區用戶提供了全套網頁設計制作服務,及郾城網站建設行業解決方案。主營業務為成都網站設計、成都網站建設、郾城網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

可以使用 ps aux 命令獲取每進程的內存使用,其中VSZ表示虛擬內存使用大小,RSS(resident set size)表示常駐內存的大小,來自于/proc/PID/status文件。

~ # ps aux | head
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.4  0.1  18984  1968 ?        Ss   10:58   0:47 /sbin/hello
root         2  0.0  0.0      0     0 ?        S    10:58   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    10:58   0:10 [ksoftirqd/0]

但RSS并不代表進程的實際內存消耗,因為不同的進程之間會共享內存,所以把所有進程RSS進行累加的方法會重復計算共享內存,得到的結果是偏大的。正確的方式是累加/proc/PID/smaps中的Pss(process's proportional share of this mapping)字段。選取某個vma的統計數據:

01e70000-01ef6000 rw-p 00000000 00:00 0                                  [heap]
Size:                536 kB
Rss:                 408 kB
Pss:                 408 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:       408 kB
Referenced:          408 kB
Anonymous:           408 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Locked:                0 kB
VmFlags: rd wr mr mw me ac sd

每個虛擬內存區域(VMA)是一個連續的虛擬地址范圍,并且它們不會重疊。一個vm_area_struct實例完整的描述了一個內存區域,包括起止地址、訪問權限標志以及用于指出被映射文件(如果存在)的vm_file字段。其中,size表示這段虛擬空間的大小,Rss表示駐留內存的大小,Pss表示分攤后的內存大小,Referenced表示總共被引用或被訪問的內存大小,Anonymous表示沒有映射到文件的內存大小,Swap也是匿名內存,表示交換分區內存的大小。各個字段的關系如下:

USS = Private_Clean + Private_Dirty
Pss = USS + (Shared_Clean + Shared_Dirty)/n
RSS = USS + Shared_Clean + Shared_Dirty

以hello進程為例,使用前面介紹的統計內存的數據:

使用ps
~ # ps aux | grep /sbin/hello
root      1182  0.7  0.2 474208  5636 ?        Sl   11:00   1:38 /sbin/hello
grep -w Pss /proc/1182/smaps | awk 'BEGIN{sum=0} {sum+=$2} END {print "total mem:"sum}'
total mem:1752

可以看到,RSS與PSS相差非常大。進程的內存統計一定是使用Pss。

關于進程內存使用PSS和VSZ的區別問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。

文章標題:進程內存使用PSS和VSZ的區別
標題鏈接:http://vcdvsql.cn/article6/podiig.html

成都網站建設公司_創新互聯,為您提供商城網站外貿網站建設App開發網站排名標簽優化Google

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站優化排名