Linux 系统内存占用问题

dazzle66 2008-03-02 10:35:10
Linux 中按实际内存使用的多少顺序显示系统中的前十个进程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head –10
PID TTY   STAT  TIME MAJFL  TRS  DRS  RSS %MEM COMMAND

进程的实际占用系统内存是DRS 还是RSS??


...全文
170 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzcpig 2008-03-04
  • 打赏
  • 举报
回复
如果要监测内存泄漏可以用一些小工具,ccmalloc,Dmalloc之类的,ps太不直观了。
cceczjxy 2008-03-04
  • 打赏
  • 举报
回复
实际上,用ps来监控内存泄漏效果不会太理想,不大好区分空间是在被进程使用还是已经被进程泄漏。
dazzle66 2008-03-03
  • 打赏
  • 举报
回复
据我观察,DRS的大小一般都大于RSS 1.5倍左右。

如果要监控某个应用进程是否存在内存泄漏的问题,一般使用DRS还是RSS??


我自己倾向于使用DRS。


hzcpig 2008-03-03
  • 打赏
  • 举报
回复
RSS(pages) 应用程序正在使用的物理内存的大小 VmRSS/4
Drs(pages) 程序数据段和用户态的栈的大小 (VmData+ VmStk )4
Shared(pages) 共享页数 0
Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4
Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib/4

不过lz用的ps vx 本身显示的是虚拟内存占用,如果真要看进程的实际系统内存占用,还是要用ps -aux,里面的RSS字段就是实际内存占用。

至于ls说的一个字母代表一个意思,说的是ps -aux里面的STAT字段,标示进程状态。
claymore_47 2008-03-03
  • 打赏
  • 举报
回复
是RSS
这里一个字母似乎就代表一个意思,而不是一个缩写

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧