设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 37|回复: 0

Linux centos安装smem内存任务管理器,来查看进程占用多少swap虚拟内存,调用smaps

[复制链接]
 成长值: 336

签到天数: 4737 天

[LV.Master]伴坛终老

发表于 2024/12/23 03:07 | 显示全部楼层 |阅读模式 |Google Chrome 131.0.0.0|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
Linux centos安装smem内存任务管理器,来查看进程占用多少swap虚拟内存,调用smaps

可以直接用Linux自带的smaps,pid自行替换
  1. cat /proc/3192/smaps | grep -i swap
复制代码


统计每个模块和函数并且使用MB输出
  1. grep -i swap /proc/3192/smaps | awk '{sum += $2} END {print sum/1024 " MB"}'
复制代码


也可以安装smem,更详细的显示
  1. yum -y install smem
复制代码


物理内存排序
  1. smem -kr
复制代码


swap虚拟内存排序
  1. smem -krs swap
复制代码


-k 输出精简的进程内存信息
-r 选项表示按内存使用量反转排序,使其显示在最上方
-s 选项后面可以跟一个字段,用于指定排序的名称

smem的RSS对应top中的RES(真实物理内存使用),由于top看不了swap,所以才需要smem
拿到pid后,就可以用smaps去看是什么情况了,就可以得知进程名/vhs/kangle//ext/tpl_php722(显示被截断不完整,目录是tpl_php7220,后面就不知道了)发现是进程堆占用(heap)
  1. cat /proc/3192/smaps > smaps.log
复制代码

02e5f000-272f3000 rw-p 00000000 00:00 0                                  [heap]
Size:             594512 kB
Rss:              142356 kB
Pss:              142356 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:    142356 kB
Referenced:       106908 kB
Anonymous:        142356 kB
AnonHugePages:     30720 kB
Swap:             452068 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
VmFlags: rd wr mr mw me ac


找到问题是php7.2发生内存泄漏后如何解决呢
https://bbs.itzmx.com/thread-111106-1-1.html

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/12/23 13:12 , Processed in 0.129967 second(s), 19 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表