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

本文介绍了如何使用top、pmap、ps命令及直接查看/proc/下的status文件来动态和静态地查看进程的内存使用情况。重点阐述了VmSize、VmRSS等关键指标的含义。

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

 

[c-sharp]  view plain copy print ?
  1. 1、top命令  
  2. top -d 1 -p pid [,pid ...]  //设置为delay 1s,默认是delay 3s  
  3. 如果想根据内存使用量进行排序,可以shift + m(Sort by memory usage)  

 

 

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

 

[c-sharp]  view plain copy print ?
  1. 1、pmap命令  
  2. pmap pid  
  3.   
  4. 2、ps命令  
  5. ps aux|grep process_name  
  6.   
  7. 3、查看/proc/process_id/文件夹下的status文件  
  8. Name:   php  
  9. State:  R (running)  
  10. SleepAVG:       0%  
  11. Tgid:   21574  
  12. Pid:    21574  
  13. PPid:   10005  
  14. TracerPid:      0  
  15. Uid:    1000    1000    1000    1000  
  16. Gid:    100     100     100     100  
  17. FDSize: 256  
  18. Groups: 16 100   
  19. VmPeak:   161740 kB  
  20. VmSize:   161740 kB  
  21. VmLck:         0 kB  
  22. VmHWM:    107144 kB  
  23. VmRSS:    107144 kB  
  24. VmData:   106192 kB  
  25. VmStk:        84 kB  
  26. VmExe:      5588 kB  
  27. VmLib:      7884 kB  
  28. VmPTE:       268 kB  
  29. Threads:        1  
  30. SigQ:   0/69632  
  31. SigPnd: 0000000000000000  
  32. ShdPnd: 0000000000000000  
  33. SigBlk: 0000000000000000  
  34. SigIgn: 0000000000001000  
  35. SigCgt: 00000001818040a7  
  36. CapInh: 0000000000000000  
  37. CapPrm: 0000000000000000  
  38. CapEff: 0000000000000000  
  39. Cpus_allowed:   00000000,00000000,00000000,0000000f  
  40. Mems_allowed:   1  
  41.   
  42. 任务虚拟地址空间的大小 VmSize  
  43. 应用程序正在使用的物理内存的大小 VmRSS  

 

Linux 系统中,查看各个进程内存使用情况可以通过多种命令和工具实现。以下是一些常用的方法: ### 1. 使用 `top` 命令 `top` 是一个实时监控系统资源使用情况的工具,可以显示各个进程的内存和 CPU 使用情况。运行命令: ```bash top ``` 在 `top` 的界面中,可以查看以下信息: - **PID**:进程的 ID。 - **USER**:进程的所有者。 - **PR**:进程的优先级别,数值越小越优先执行。 - **NI**:进程的 Nice 值。 - **VIRT**:进程占用的虚拟内存总量。 - **RES**:进程占用的物理内存总量。 - **SHR**:进程使用的共享内存大小。 - **%MEM**:进程使用的物理内存占总内存的百分比[^3]。 ### 2. 使用 `ps` 命令 `ps` 命令可以显示特定进程内存使用情况。例如,查看某个进程内存使用情况,可以运行: ```bash ps -p <PID> -o %mem,cmd ``` 其中 `<PID>` 是进程的 ID。该命令将显示进程占用的内存百分比和对应的命令名称。 ### 3. 使用 `pmap` 工具 `pmap` 可以用来查看某个进程的详细内存映射信息。运行命令: ```bash pmap -x <PID> ``` 此命令将显示进程的内存地址范围、权限、偏移量、设备信息以及文件路径等详细信息。如果需要更详细的输出,可以使用 `-X` 或 `-XX` 参数来获取更多细节[^4]。 ### 4. 使用 `htop` 工具 `htop` 是一个功能更强大的交互式进程查看器,比 `top` 更加直观和易用。安装 `htop` 后,运行: ```bash htop ``` `htop` 提供了颜色高亮、更详细的内存使用统计、支持鼠标操作等功能,适合需要更直观监控的场景。 ### 5. 使用 `free` 命令结合 `grep` 虽然 `free` 命令主要用于查看系统的整体内存使用情况,但结合 `grep` 可以快速获取特定信息。例如: ```bash free -h | grep Mem ``` 此命令将显示系统总内存、已用内存和空闲内存的信息。 ### 6. 使用 `/proc` 文件系统 Linux 的 `/proc` 文件系统包含了丰富的进程信息。对于某个特定进程,可以通过查看 `/proc/<PID>/status` 或 `/proc/<PID>/smaps` 文件来获取详细的内存使用情况。例如: ```bash cat /proc/<PID>/status ``` 这将显示进程内存使用统计、状态、启动时间等信息。而 `/proc/<PID>/smaps` 则提供了更详细的内存映射信息。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值