国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

深入解析Linux進程內(nèi)存:VSS、RSS、PSS、USS及查看方式

這篇具有很好參考價值的文章主要介紹了深入解析Linux進程內(nèi)存:VSS、RSS、PSS、USS及查看方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

VSS

虛擬耗用內(nèi)存大小,是進程可以訪問的所有虛擬內(nèi)存的總量,包括進程獨自占用的物理內(nèi)存、和其他進程共享的內(nèi)存、分配但未使用的內(nèi)存。

RSS

駐留內(nèi)存大小,是進程當前實際占用的物理內(nèi)存大小,包括進程獨自占用的物理內(nèi)存、和其他進程共享的內(nèi)存。

PSS

比例駐留內(nèi)存大小,包括進程獨自占用的物理內(nèi)存、比例分配和其他進程共享的內(nèi)存(共享庫內(nèi)存會均分到各個共享進程)。

USS

獨立內(nèi)存大小,表示進程獨自占用、不與其他進程共享的物理內(nèi)存。

圖解

深入解析Linux進程內(nèi)存:VSS、RSS、PSS、USS及查看方式,Linux,linux,服務(wù)器,內(nèi)存,進程

Linux進程內(nèi)存查看方式

ps命令

ps命令可以獲取進程的VSS、RSS、內(nèi)存使用率,其中:

  1. VSZ列表示的VSS,單位是KB;
  2. RSS列的單位是KB;
  3. %MEM列表示的是內(nèi)存使用率,是進程RSS與系統(tǒng)總物理內(nèi)存的比值;
[root@localhost ~]# ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0 128620  4484 ?        Ss    2022 228:42 /usr/lib/systemd/systemd
root         2  0.0  0.0      0     0 ?        S     2022   1:47 [kthreadd]
root         3  0.0  0.0      0     0 ?        S     2022  20:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<    2022   0:00 [kworker/0:0H]
......
postgres 31940  0.0  0.0 251780  1256 ?        Ss   May19   1:31 postgres: logger

top命令

top命令可以獲取進程的VSS、RSS,其中:

  1. VIRT列表示的是VSS,單位是KB;
  2. RES列表示的是RSS,單位是KB;
[root@localhost ~]# top
top - 20:48:34 up 561 days,  9:34,  2 users,  load average: 0.40, 0.80, 1.18
Tasks: 302 total,   1 running, 301 sleeping,   0 stopped,   0 zombie
%Cpu(s):  6.1 us,  0.8 sy,  0.0 ni, 92.8 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
KiB Mem : 16425244 total,   560044 free, 12011580 used,  3853620 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1632372 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    1 root      20   0  492728   4540   1548 S   0.0  0.0 133:41.72 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:11.53 kthreadd
    
31940 postgres  20   0  251780   1256    712 S   0.0  0.0   1:31.24 postmaster

smem命令

smem命令可以獲取進程的RSS、PSS、USS,單位是KB。

[root@node-2 ~]# smem
  PID User     Command                         Swap      USS      PSS      RSS
31940 postgres postgres: logger                 876      100      126     1260

pmap命令

pmap命令可以獲取進程的VSS,RSS,其中:

  1. Kbytes列表示的VSS,單位是KB;
  2. RSS列的單位是KB;
[root@node-2 ~]# pmap -x 31940
31940:   postgres: logger
Address           Kbytes     RSS   Dirty Mode  Mapping
0000000000400000    7392     216       0 r-x-- postgres
0000000000d37000       4       4       4 r---- postgres

......
---------------- ------- ------- -------
total kB          251784    1260     548

查看進程狀態(tài)文件

通過查看進程的狀態(tài)文件,可以獲取進程的VSS、RSS,其中:

  1. VmSize表示的是VSS;
  2. VmRSS表示的是RSS;
[root@node-2 ~]# cat /proc/31940/status
Name:   postmaster
Umask:  0077
State:  S (sleeping)
Tgid:   31940
Ngid:   0
Pid:    31940
PPid:   31938
TracerPid:      0
Uid:    26      26      26      26
Gid:    26      26      26      26
FDSize: 64
Groups: 26
VmPeak:   454540 kB
VmSize:   251780 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:      2132 kB
VmRSS:      1256 kB
RssAnon:             544 kB
RssFile:             712 kB
RssShmem:              0 kB
VmData:     1040 kB
VmStk:       132 kB
VmExe:      7392 kB
VmLib:     38308 kB
VmPTE:       236 kB
VmSwap:      876 kB
Threads:        1
SigQ:   0/64052
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000001307806
SigCgt: 00000001a0000201
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000001fffffffff
CapAmb: 0000000000000000
NoNewPrivs:     0
Seccomp:        0
Speculation_Store_Bypass:       vulnerable
Cpus_allowed:   f
Cpus_allowed_list:      0-3
Mems_allowed:   00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list:      0
voluntary_ctxt_switches:        1320418
nonvoluntary_ctxt_switches:     70

通過查看進程的smaps文件,可以獲取進程每個內(nèi)存映射塊的詳細信息,求和可以得到進程的RSS、PSS、USS,其中:

  1. Private_Clean和Private_Dirty表示進程的私有、不可共享的已清潔(Clean)和已臟(Dirty)內(nèi)存大小,將這兩個值相加即可得到USS。
[root@node-2 ~]# cat /proc/31940/smaps | grep 'Rss' | awk '{Total+=$2} END {print Total"KB"}'
1260KB
[root@node-2 ~]# cat /proc/31940/smaps | grep 'Pss' | awk '{Total+=$2} END {print Total"KB"}'
126KB
[root@node-2 ~]# cat /proc/31940/smaps | grep 'Private' | awk '{Total+=$2} END {print Total"KB"}'
100KB

參考

Process Memory Management in Linux | Baeldung on Linux文章來源地址http://www.zghlxwxcb.cn/news/detail-616129.html

到了這里,關(guān)于深入解析Linux進程內(nèi)存:VSS、RSS、PSS、USS及查看方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Linux如何查看當前占用CPU和內(nèi)存最多的進程

    查看占用 CPU 最高的前10個進程 查看占用內(nèi)存(MEM)最高的前10個進程 輸入 top 命令,然后按下大寫M按照內(nèi)存MEM排序,按下大寫P按照CPU排序

    2024年02月17日
    瀏覽(22)
  • linux環(huán)境下查看因內(nèi)存占用過大被殺掉的進程

    最近發(fā)生兩次游戲服務(wù)器進程突然消失的事件,查詢?nèi)罩旧舷挛臎]有找到有用的信息,日志顯示運行到某處戛然而止,此處代碼邏輯簡單,排除異常邏輯導致的服務(wù)器進程崩潰,所以聯(lián)想到之前同一臺服務(wù)器上部署多個進程,因占用內(nèi)存太大被內(nèi)核殺死的情況,猜測本次也是

    2024年02月10日
    瀏覽(18)
  • 【Linux】查看系統(tǒng)各種信息的常用命令 (CPU、內(nèi)存、進程、網(wǎng)口、磁盤、硬件、等等)

    【Linux】查看系統(tǒng)各種信息的常用命令 (CPU、內(nèi)存、進程、網(wǎng)口、磁盤、硬件、等等)

    Linux是一種開源的類Unix操作系統(tǒng),它有很多不同的發(fā)行版,如Ubuntu、CentOS、Debian等。Linux系統(tǒng)提供了很多命令行工具,可以讓用戶方便地查看和管理系統(tǒng)的各種信息,如硬件配置、內(nèi)存使用、進程狀態(tài)、網(wǎng)絡(luò)連接等。本文將介紹一些常用的命令,以及它們的用法和示例。 使用

    2024年02月15日
    瀏覽(96)
  • MacOS怎么查看進程占用內(nèi)存是多少

    MacOS怎么查看進程占用內(nèi)存是多少

    在Linux下可以使用 free 命令來方便的查看內(nèi)存占用情況,如 free -g、free -m等,但MacOS下沒有這個命令。 既然如此,那么MacOS里是否有類似的工具呢? 而我們又該如何查看整個PC的內(nèi)存占用情況,及指定進程的內(nèi)存占用情況呢? 別急,帶著這些疑問請往下看: 1、通過 top 命令來

    2024年02月17日
    瀏覽(27)
  • 深入淺出:Objective-C中使用MWFeedParser下載豆瓣RSS

    深入淺出:Objective-C中使用MWFeedParser下載豆瓣RSS

    摘要 本文旨在介紹如何在Objective-C中使用MWFeedParser庫下載豆瓣RSS內(nèi)容,同時展示如何通過爬蟲代理IP技術(shù)和多線程提高爬蟲的效率和安全性。 背景 隨著信息量的激增,爬蟲技術(shù)成為了獲取和處理大量網(wǎng)絡(luò)數(shù)據(jù)的重要手段。Objective-C作為一種成熟的編程語言,配合MWFeedParser庫,

    2024年03月15日
    瀏覽(21)
  • 【Linux進程】查看進程&&fork創(chuàng)建進程

    【Linux進程】查看進程&&fork創(chuàng)建進程

    目錄 前言 ?1. 查看進程 ?2. 通過系統(tǒng)調(diào)用創(chuàng)建進程-fork初識 總結(jié) ? ? ? ? ?你有沒有想過在使用Linux操作系統(tǒng)時,后臺運行的程序是如何管理的?在Linux中,進程是一個非常重要的概念。本文將介紹如何查看當前運行的進程,并且討論如何使用fork創(chuàng)建新的進程。通過了解這些

    2024年01月22日
    瀏覽(30)
  • STM32查看內(nèi)存占用的map文件解析

    STM32查看內(nèi)存占用的map文件解析

    雙擊工程名盡可打開xxx.map文件,里面主要顯示了文件及函數(shù)使用內(nèi)存的大小 堆:是用戶調(diào)用malloc()時申請的內(nèi)存; 棧:是提供給局部變量使用的,即由c語言機制自動申請和釋放; 1.2 flash、ROM、RAM的區(qū)別 在stm32中flash就是ROM,掉電數(shù)據(jù)不會丟失;(通常保存著text段、Code、R

    2024年02月11日
    瀏覽(19)
  • 【linux】查看進程和子進程

    【linux】查看進程和子進程

    在Linux系統(tǒng)中,可以使用多個命令來查看進程及其子進程。以下是一些常用的方法: ps 命令用于顯示當前進程的狀態(tài)??梢越Y(jié)合不同的選項來查看進程及其子進程。 ?查看進程樹: - -a 顯示所有進程。 - -u 顯示進程的用戶/所有者。 - -x 顯示沒有控制終端的進程。 - -f 顯示完整

    2024年01月25日
    瀏覽(25)
  • 【Linux】進程查看|fork函數(shù)|進程狀態(tài)

    【Linux】進程查看|fork函數(shù)|進程狀態(tài)

    ?? 個人主頁—— ?? 開著拖拉機回家_Linux,大數(shù)據(jù)運維-CSDN博客 ????? ???????????????? ?????????????? ???????????????????????? 感謝點贊和關(guān)注 ,每天進步一點點!加油! 目錄 一、基本概念 1.1 概念提出 1.2 特征 二、描述進程-PCB 2.1 什么是進程

    2024年02月04日
    瀏覽(31)
  • 【Linux從入門到放棄】進程概念、查看進程、創(chuàng)建進程

    【Linux從入門到放棄】進程概念、查看進程、創(chuàng)建進程

    ?????作者: @情話0.0 ??專欄:《Linux從入門到放棄》 ??個人簡介:一名雙非編程菜鳥,在這里分享自己的編程學習筆記,歡迎大家的指正與點贊,謝謝! ??那在還沒有學習進程之前,就問大家,操作系統(tǒng)是怎么管理進行進程管理的呢?很簡單,先把進程描述起來,再

    2024年02月12日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包