進(jìn)程內(nèi)存使用PSS和VSZ的區(qū)別,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
為郾城等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及郾城網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、郾城網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
可以使用 ps aux 命令獲取每進(jìn)程的內(nèi)存使用,其中VSZ表示虛擬內(nèi)存使用大小,RSS(resident set size)表示常駐內(nèi)存的大小,來自于/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并不代表進(jìn)程的實(shí)際內(nèi)存消耗,因?yàn)椴煌倪M(jìn)程之間會(huì)共享內(nèi)存,所以把所有進(jìn)程RSS進(jìn)行累加的方法會(huì)重復(fù)計(jì)算共享內(nèi)存,得到的結(jié)果是偏大的。正確的方式是累加/proc/PID/smaps中的Pss(process's proportional share of this mapping)字段。選取某個(gè)vma的統(tǒng)計(jì)數(shù)據(jù):
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
每個(gè)虛擬內(nèi)存區(qū)域(VMA)是一個(gè)連續(xù)的虛擬地址范圍,并且它們不會(huì)重疊。一個(gè)vm_area_struct實(shí)例完整的描述了一個(gè)內(nèi)存區(qū)域,包括起止地址、訪問權(quán)限標(biāo)志以及用于指出被映射文件(如果存在)的vm_file字段。其中,size表示這段虛擬空間的大小,Rss表示駐留內(nèi)存的大小,Pss表示分?jǐn)偤蟮膬?nèi)存大小,Referenced表示總共被引用或被訪問的內(nèi)存大小,Anonymous表示沒有映射到文件的內(nèi)存大小,Swap也是匿名內(nèi)存,表示交換分區(qū)內(nèi)存的大小。各個(gè)字段的關(guān)系如下:
USS = Private_Clean + Private_Dirty Pss = USS + (Shared_Clean + Shared_Dirty)/n RSS = USS + Shared_Clean + Shared_Dirty
以hello進(jìn)程為例,使用前面介紹的統(tǒng)計(jì)內(nèi)存的數(shù)據(jù):
使用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相差非常大。進(jìn)程的內(nèi)存統(tǒng)計(jì)一定是使用Pss。
關(guān)于進(jìn)程內(nèi)存使用PSS和VSZ的區(qū)別問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
文章標(biāo)題:進(jìn)程內(nèi)存使用PSS和VSZ的區(qū)別
標(biāo)題鏈接:http://jinyejixie.com/article6/podiig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、App開發(fā)、網(wǎng)站排名、標(biāo)簽優(yōu)化、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)