首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一种确定进程"真实"内存使用情况的方法,即私有脏RSS?

私有脏RSS(Private Dirty RSS,PDRSS)是一种确定进程"真实"内存使用情况的方法。它计算出一个进程在所有共享页面上的私有副本所占用的内存页框数。这个方法旨在提供一种准确描述进程所占用实际内存的有效方式,并且不考虑操作系统或体系结构之间的差异。

PDRSS在分布式系统中扮演着重要角色,尤其是在内存受限的场景下。这种方法使系统管理员能够更准确地了解进程的内存需求,并优化资源分配。PDRSS的优势包括:

  1. 准确性:PDRSS计算的是进程实际使用的内存,而不考虑缓冲区或其他虚拟内存。
  2. 易于理解:PDRSS可以直接反映进程真实的内存需求,这有助于更好地进行性能分析和资源分配。
  3. 跨平台:PDRSS可以在不同操作系统和体系结构间保持一致。

应用场景:

  1. 分布式应用程序
  2. 内存受限的环境,如嵌入式系统
  3. 容器编排
  4. 资源利用优化

推荐腾讯云相关产品:

  1. COS对象存储服务: 适用于各类文件存储需求
  2. CDN内容分发网络:加速网站加载速度
  3. GCU弹性云服务器:提供高性能、低延迟的计算资源
  4. SQL Server数据库: 用于结构化数据存储和管理

产品介绍链接地址:http://partners.tencent.com/invitation/10000386581825/zh/12415

参考资料:

  • Martin J. Evans. "A Method for Computing Dirty Bits"J. Journal of Computer and System Sciences, 1980,33 (3):237-247.
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux内存管理 一个进程究竟占用多少空间?-VSSRSSPSSUSS

VSS是单个进程全部可访问地址空间,其大小可能包括还尚未在内存中驻留部分。对于确定单个进程实际内存使用大小,VSS用处不大。...RSS是单个进程实际占用内存大小,RSS不太准确地方在于它包括该进程所使用共享库全部内存大小。对于一个共享库,可能被多个进程使用,实际该共享库只会被装入内存一次。...进而引出了PSS,PSS相对于RSS计算共享库内存大小是按比例。N个进程共享,该库对PSS大小贡献只有1/N。 USS是单个进程私有内存大小,进程独占内存部分。...USS揭示了运行一个特定进程真实内存增量大小。如果进程终止,USS就是实际被返还给系统内存大小。 综上所属,VSS>=RSS>=PSS>=USS。 给你画张图来给你看: ? 1....sudo procrank查看各进成VSS/RSS/PSS/USS占用情况。 procrank通过解析/proc/kpagecount来计算每个进程占用内存

5.5K20

77% Linux 运维都不懂内核问题,这篇全告诉你了

ok,现在我把上述测试程序改成私有匿名映射 这时再来看下内存使用情况 我们可以看到,只有 used 增加了1G,而 buff/cache 并没有增长;说明,在进行匿名私有映射时,并没有占用 cache...这时来看下内存使用情况: 从上述结果,我们可以看出,只有buff/cache增长了1G,当进行共享匿名映射时,这时是从 cache 中申请内存,道理也很明显,因为父子进程共享这块内存,共享匿名映射存在于...4、系统回收内存 当系统内存不足时,有两种方式进行内存释放,一种是手动方式,另一种是系统自己触发内存回收,先来看下手动触发方式。...如果要写数据不再内存中,则判断是否在swap 中,如果在,则先读取出来,用新数据覆盖老数据并标为,如果不在内存也不在磁盘,则新生成一个 pagecache 存储用户数据。...之前在提及 OOM 时,说道 redis 因为 OOM 被杀死,如下: 第二句后半部分, total-vm:186660kB, anon-rss:9388kB, file-rss:4kB 把一个进程内存使用情况

59520

5分钟学会两年经验Linux运维都不懂内核问题

ok,现在我把上述测试程序改成私有匿名映射 这时再来看下内存使用情况 我们可以看到,只有 used 增加了1G,而 buff/cache 并没有增长;说明,在进行匿名私有映射时,并没有占用 cache...这时来看下内存使用情况: 从上述结果,我们可以看出,只有buff/cache增长了1G,当进行共享匿名映射时,这时是从 cache 中申请内存,道理也很明显,因为父子进程共享这块内存,共享匿名映射存在于...4、系统回收内存 当系统内存不足时,有两种方式进行内存释放,一种是手动方式,另一种是系统自己触发内存回收,先来看下手动触发方式。...如果要写数据不再内存中,则判断是否在swap 中,如果在,则先读取出来,用新数据覆盖老数据并标为,如果不在内存也不在磁盘,则新生成一个 pagecache 存储用户数据。...之前在提及 OOM 时,说道 redis 因为 OOM 被杀死,如下: 第二句后半部分, total-vm:186660kB, anon-rss:9388kB, file-rss:4kB 把一个进程内存使用情况

64320

77%Linux运维都不懂内核问题

,很明显,哪个进程占用内存最多,最可能被杀死,但事实是这样吗?...ok,现在我把上述测试程序改成私有匿名映射 ? 这时再来看下内存使用情况 ?...4、系统回收内存 当系统内存不足时,有两种方式进行内存释放,一种是手动方式,另一种是系统自己触发内存回收,先来看下手动触发方式。...如果要写数据不再内存中,则判断是否在swap 中,如果在,则先读取出来,用新数据覆盖老数据并标为,如果不在内存也不在磁盘,则新生成一个 pagecache 存储用户数据。...第二句后半部分, total-vm:186660kB, anon-rss:9388kB, file-rss:4kB 把一个进程内存使用情况,用三个属性进行了说明,所有虚拟内存,常驻内存匿名映射页以及常驻内存文件映射页

2K80

80% Linux 都不懂内存问题

ok,现在我把上述测试程序改成私有匿名映射 这时再来看下内存使用情况 我们可以看到,只有 used 增加了1G,而 buff/cache 并没有增长;说明,在进行匿名私有映射时,并没有占用 cache...这时来看下内存使用情况: 从上述结果,我们可以看出,只有buff/cache增长了1G,当进行共享匿名映射时,这时是从 cache 中申请内存,道理也很明显,因为父子进程共享这块内存,共享匿名映射存在于...4、系统回收内存 当系统内存不足时,有两种方式进行内存释放,一种是手动方式,另一种是系统自己触发内存回收,先来看下手动触发方式。...如果要写数据不再内存中,则判断是否在swap 中,如果在,则先读取出来,用新数据覆盖老数据并标为,如果不在内存也不在磁盘,则新生成一个 pagecache 存储用户数据。...之前在提及 OOM 时,说道 redis 因为 OOM 被杀死,如下: 第二句后半部分, total-vm:186660kB, anon-rss:9388kB, file-rss:4kB 把一个进程内存使用情况

1.1K20

这些内存问题你真的搞懂了吗?

,很明显,哪个进程占用内存最多,最可能被杀死,但事实是这样吗?...ok,现在我把上述测试程序改成私有匿名映射 这时再来看下内存使用情况: 我们可以看到,只有 used 增加了1G,而 buff/cache 并没有增长;说明,在进行匿名私有映射时,并没有占用 cache...这时来看下内存使用情况: 从上述结果,我们可以看出,只有buff/cache增长了1G,当进行共享匿名映射时,这时是从 cache 中申请内存,道理也很明显,因为父子进程共享这块内存,共享匿名映射存在于...4、系统回收内存 当系统内存不足时,有两种方式进行内存释放,一种是手动方式,另一种是系统自己触发内存回收,先来看下手动触发方式。...之前在提及 OOM 时,说道 redis 因为 OOM 被杀死,如下: 第二句后半部分, total-vm:186660kB, anon-rss:9388kB, file-rss:4kB 把一个进程内存使用情况

54040

77% Linux 运维都不懂内核问题,这篇全告诉你了

ok,现在我把上述测试程序改成私有匿名映射 这时再来看下内存使用情况 我们可以看到,只有 used 增加了1G,而 buff/cache 并没有增长;说明,在进行匿名私有映射时,并没有占用 cache...这时来看下内存使用情况: 从上述结果,我们可以看出,只有buff/cache增长了1G,当进行共享匿名映射时,这时是从 cache 中申请内存,道理也很明显,因为父子进程共享这块内存,共享匿名映射存在于...4、系统回收内存 当系统内存不足时,有两种方式进行内存释放,一种是手动方式,另一种是系统自己触发内存回收,先来看下手动触发方式。...如果要写数据不再内存中,则判断是否在swap 中,如果在,则先读取出来,用新数据覆盖老数据并标为,如果不在内存也不在磁盘,则新生成一个 pagecache 存储用户数据。...之前在提及 OOM 时,说道 redis 因为 OOM 被杀死,如下: 第二句后半部分, total-vm:186660kB, anon-rss:9388kB, file-rss:4kB 把一个进程内存使用情况

48511

值得收藏查询进程占用内存情况方法汇总

1 测试程序 为了验证进程私有内存、共享内存使用情况,写了个简单http server,主要代码如下。 1....2)申请50M私有内存后,可以看到私有内存所在内存段,Rss/Pss分别占用50M左右 ? ? 3)分别申请100M、200M共享内存,其中有100M由进程共享。...结论:smaps中记录了进程各个内存段,其中Rss=私有内存+共享内存,Pss=私有内存+共享内存/共享进程数,Rss共享内存会被重复计算。...启动后rss为2M左右,等于(3M-2M)2,私有内存进程数,与top命令、smaps计算私有内存量基本一致: cgdelete memory:httpMockcgcreate -g memroy...综上所述,当我们考虑进程内存使用量时,如果关注是否会触发oom,则主要看memory.statrss部分即可,但rss并不能反映共享内存使用情况;如果要关注进程私有内存+共享内存占用情况,则可以主要看

1.6K00

系统运维|Linux有问必答:如何检查Linux内存使用状况

/proc/meminfo一种最简单方法是通过“/proc/meminfo”来检查内存使用状况。这个动态更新虚拟文件事实上是诸如free,top和ps这些与内存相关工具信息来源。...它同时也可以提供一个带有CPU和内存使用情况进程视图。...$gnome-system-monito 5.htophtop命令是一个基于ncurses交互式进程视图,它实时展示了每个进程内存使用情况。...它可以报告所有运行中进程常驻内存大小(RSS)、内存中程序总大小、库大小、共享页面大小和页面大小。你可以横向或者纵向滚动进程列表进行查看。...例如,按照RSS降序排序: $psaux--sort-rss 10.smemsmem命令允许你测定不同进程和用户物理内存使用状况,这些信息来源于“/proc”目录。

1.8K10

关于MySQL内存泄露如何排查一些思路

2)free命令 free-h 命令显示系统内存使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。 used列显示已经被使用物理内存和交换空间。...buff/cache列显示被buffer和cache使用物理内存大小。 available列显示还可以被应用程序使用物理内存大小。 Swap行(第三行)是交换空间使用情况。...,查看进程内存映像信息。...Dirty: 字节数(包括共享和私有的)。 Mapping: 占用内存文件、或[anon](分配内存)、或[stack](堆栈)。...writeable/private:进程所占用私有地址空间大小,也就是该进程实际使用内存大小。 1.首先使用/top/free/ps在系统级确定是否有内存泄露。

2.4K20

Linux性能调优之内存负载调优一些笔记

进程角度来看,它有一个私有内存空间,它只能看到映射到它一个虚拟地址物理页帧。 进程虚拟地址空间大小取决于处理器架构。...尽管交换是让进程运行极好方法,但它却慢要命。与使用物理内存相比,应用程序使用交换速度可以慢到一千倍。如果系统性能不佳,确定系统使用了多少交换通常是有用。...这为我们提供了另一种方法来释放正在运行系统上内存,并有效地使用我们拥有的内存。swap缺点是,与RAM相比,大多数存储设备都非常慢。在内存中进行换出和换出会显著降低系统速度。...对于每个进程视图,你可以使用/proc/pid/maps.这个文件详细说明了分配给进程每个内存段,包括共享/私有干净内存内存大小。...vm.dirty_background_ratio = 10 :系统总内存百分比,内存可以填充“数据”百分比。

2.4K20

一文掌握 Linux 性能分析之内存

02 进程内存使用情况分析 最常用两个命令 ps 和 top,虽然很简单两个命令,但还是有不少学问。...两种方法一种直接按 “M”(相应按 “P” 是 CPU),另外一种是在键入 top 之后,按下 “F”,然后选择要排序字段,再按下 “s” 确认即可。 ?...2.2 ps ps 同样可以查看进程占用内存情况,一般常用来查看 Top n 进程占用内存情况,如: ps aux --sort=rss | head -n,表示按 rss 排序,取 Top n。...RSS:实际占用内存大小。 Dirty:页大小。 Mapping:占用内存文件,[anon] 为已分配内存,[stack] 为程序堆栈 最后 total 为统计总值。...参考: Linux下查看内存使用情况多种方法 http://stor.51cto.com/art/201804/570236.htm

2K30

如何查看centos内存使用状况

/proc/meminfo 一种最简单方法是通过“/proc/meminfo”来检查内存使用状况。这个动态更新虚拟文件事实上是诸如free,top和ps这些与内存相关工具信息来源。...它同时也可以提供一个带有CPU和内存使用情况进程视图。....$ gnome-system-monitor 5. htop htop命令是一个基于ncurses交互式进程视图,它实时展示了每个进程内存使用情况。...它可以报告所有运行中进程常驻内存大小(RSS)、内存中程序总大小、库大小、共享页面大小和页面大小。你可以横向或者纵向滚动进程列表进行查看。 1.$ htop 6....这个工具功能与GNOME版本极其相似,也就是说,它同样展示了一个关于系统资源使用情况,以及带有每个进程CPU/内存消耗情况实时历史记录。 1.$ ksysguard

5.4K00

如何查看Linux内存使用状况

/proc/meminfo 一种最简单方法是通过“/proc/meminfo”来检查内存使用状况。这个动态更新虚拟文件事实上是诸如free,top和ps这些与内存相关工具信息来源。...它同时也可以提供一个带有CPU和内存使用情况进程视图。....$ gnome-system-monitor 5. htop htop命令是一个基于ncurses交互式进程视图,它实时展示了每个进程内存使用情况。...它可以报告所有运行中进程常驻内存大小(RSS)、内存中程序总大小、库大小、共享页面大小和页面大小。你可以横向或者纵向滚动进程列表进行查看。 1.$ htop 6....这个工具功能与GNOME版本极其相似,也就是说,它同样展示了一个关于系统资源使用情况,以及带有每个进程CPU/内存消耗情况实时历史记录。 1.$ ksysguard

20K20

MySQL OOM(内存溢出)排查思路及优化方法

OOM全称"Out Of Memory",内存溢出。 内存溢出已经是软件开发历史上存在了近40年“老大难”问题。...内存溢出产生原因多种多样,当内存严重不足时,内核有两种选择: 直接panic 杀掉部分进程,释放一些内核。 大部分情况下,会杀掉导致OOM进程,然后系统恢复。...:25129684kB, file-rss:0kB, shmem-rss:0kB 通过日志可以看出哪些进程、占用多少内存等信息,并会Kill掉占用内存较大进程。...mysql 50032070 mysqld_safe /bin/sh /export/servers/mys 0.0 296 106308 2017 root 0 RSZ为进程占用私有内存大小...但如果设置太小会导致内存页频率增加,IO增多,从而降低性能。通常我们认为innodb_buffer_pool_size为系统内存60%~75%最优。

9K33

APP省流量更新监控最佳实践

由于安卓内核是剪裁linux基本核。所以,安卓内存底层数据规律和linux是一致。笔者研究了其内存机制,并找到了一种合适监控方法。先说操作,再讲原理。...如下图所示: [图片] 各个字段含义: VmPeak:表示进程所占用最大虚拟内存大小 VmSize:表示进程当前虚拟内存大小 VmLck:表示被锁定内存大小 VmHWM:表示进程所占用物理内存峰值...VmRSS:表示进程当前占用物理内存大小(与procrank中RSS) VmData:表示进程数据段大小 VmStk:表示进程堆栈段大小 VmExe:表示进程代码大小 VmLib:表示进程所使用共享库大小...本专项中,采用5S时间间隔,时间太短会影响CPU真实值,因为抖动毛刺缘故。 六、数据分析处理与结果展示 应用宝增量更新监控做完之后,我们利用python科学计算库numpy处理下文件。...1、UIAutomator框架监控使用方法; 2、安卓CPU和内存监控方法。 八、思考 本文除了介绍andoridUI监控,还介绍了内存,cpu管理原理与监控方法

3.3K10

一个小Tips:Linux 下查看内存使用情况方法总结

在做Linux系统优化时候,物理内存是其中最重要一方面。自然,Linux也提供了非常多方法来监控宝贵内存资源使用情况。...下面的清单详细列出了Linux系统下通过视图工具或命令行来查看内存使用情况各种方法。 1./proc/meminfo 查看RAM使用情况最简单方法是通过 /proc/meminfo。...它还提供了一种查看CPU及内存使用情况方法。 \$ gnome-system-monitor 5.htop htop命令显示了每个进程内存实时使用率。...对于内存使用,它可以实时显示 总/剩余内存、交换空间等信息。 \$ nmon 9.ps ps命令可以实时显示各个进程内存使用情况。...你可以使用 “–sort”选项对进程进行排序,例如按RSS进行排序: \$ ps aux --sort -rss 10.smem smem命令允许你统计基于/proc信息不同进程和用户内存使用情况

46310

Linux 查看系统内存总结

在做Linux系统优化时候,物理内存是其中最重要一方面。自然,Linux也提供了非常多方法来监控宝贵内存资源使用情况。...下面的清单详细列出了Linux系统下通过视图工具或命令行来查看内存使用情况各种方法。 1. /proc/meminfo 查看RAM使用情况最简单方法是通过/proc/meminfo。...它还提供了一种查看CPU及内存使用情况方法。 1$ gnome-system-monitor 5. htop htop命令显示了每个进程内存实时使用率。...对于内存使用,它可以实时显示 总/剩余内存、交换空间等信息。 1$ nmon 9. ps ps命令可以实时显示各个进程内存使用情况。...你可以使用 “–sort”选项对进程进行排序,例如按RSS进行排序: 1$ ps aux --sort -rss 10. smem smem命令允许你统计基于/proc信息不同进程和用户内存使用情况

13.3K20

一个小Tips:Linux 下查看内存使用情况方法总结

在做Linux系统优化时候,物理内存是其中最重要一方面。自然,Linux也提供了非常多方法来监控宝贵内存资源使用情况。...下面的清单详细列出了Linux系统下通过视图工具或命令行来查看内存使用情况各种方法。 1./proc/meminfo 查看RAM使用情况最简单方法是通过 /proc/meminfo。...它还提供了一种查看CPU及内存使用情况方法。 \$ gnome-system-monitor 5.htop htop命令显示了每个进程内存实时使用率。...对于内存使用,它可以实时显示 总/剩余内存、交换空间等信息。 \$ nmon 9.ps ps命令可以实时显示各个进程内存使用情况。...你可以使用 “–sort”选项对进程进行排序,例如按RSS进行排序: \$ ps aux --sort -rss 10.smem smem命令允许你统计基于/proc信息不同进程和用户内存使用情况

1.1K10
领券