您的位置:首页 > 运维架构 > Linux

linux下查看进程内存使用情况

2012-09-29 14:24 513 查看
动态查看一个进程的内存使用

[c-sharp]
view plaincopyprint?

1、top命令
top -d 1 -p pid [,pid ...] //设置为delay 1s,默认是delay 3s

如果想根据内存使用量进行排序,可以shift + m(Sort by memory usage)

静态查看一个进程的内存使用

[c-sharp]
view plaincopyprint?

1、pmap命令
pmap pid

2、ps命令
ps aux|grep process_name

3、查看/proc/process_id/文件夹下的status文件
Name: php
State: R (running)
SleepAVG: 0%
Tgid: 21574
Pid: 21574
PPid: 10005
TracerPid: 0
Uid: 1000 1000 1000 1000
Gid: 100 100 100 100
FDSize: 256
Groups: 16 100
VmPeak: 161740 kB
VmSize: 161740 kB
VmLck: 0 kB
VmHWM: 107144 kB
VmRSS: 107144 kB
VmData: 106192 kB
VmStk: 84 kB
VmExe: 5588 kB
VmLib: 7884 kB
VmPTE: 268 kB
Threads: 1
SigQ: 0/69632
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 00000001818040a7
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
Cpus_allowed: 00000000,00000000,00000000,0000000f
Mems_allowed: 1

任务虚拟地址空间的大小 VmSize
应用程序正在使用的物理内存的大小 VmRSS

  1、top




  top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
  内容解释:
  PID:进程的ID

  USER:进程所有者

  PR:进程的优先级别,越小越优先被执行

  NInice:值

  VIRT:进程占用的虚拟内存

  RES:进程占用的物理内存

  SHR:进程使用的共享内存

  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数

  %CPU:进程占用CPU的使用率

  %MEM:进程使用的物理内存和总内存的百分比

  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。

  COMMAND:进程启动命令名称
  常用的命令:
  P:按%CPU使用率排行

  T:按MITE+排行

  M:按%MEM排行
  2、/proc/pid



  测量一个进程占用了多少内存,linux为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息
  说明:
  /proc/N pid为N的进程信息

  /proc/N/cmdline 进程启动命令

  /proc/N/cwd 链接到进程当前工作目录

  /proc/N/environ 进程环境变量列表

  /proc/N/exe 链接到进程的执行命令文件

  /proc/N/fd 包含进程相关的所有的文件描述符

  /proc/N/maps 与进程相关的内存映射信息

  /proc/N/mem 指代进程持有的内存,不可读

  /proc/N/root 链接到进程的根目录

  /proc/N/stat 进程的状态

  /proc/N/statm 进程使用的内存的状态

  /proc/N/status 进程状态信息,比stat/statm更具可读性

  /proc/self 链接到当前正在运行的进程
  3、pmap



  pmap命令可以显示一个或多个进程所使用的内存数量。你可以使用这个工具来了解服务器上的某个进程分配了多少内存,并以此来判断这是否是导致内存瓶颈的原因。要得到更加详细的信息,使用pmap -d选项。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: