linux系统查看某个进程使用的内存情况

本文介绍了Linux系统查看进程内存情况的三种常用方法。一是用top -p 进程PID查看,进程Pid可通过ps -ef | grep <进程名称>获取;二是使用ps指令;三是使用cat /proc/pid/status指令,还说明了各指令查看结果中相关参数的含义。

前言

 linux系统查看进程内存情况的方法多种多样,下面介绍三种常用方法:

第一种方法,top命令

通过指令 top -p 进程PID查看,进程Pid可通过指令:ps -ef | grep <进程名称> 获取

举例:查看进程ChargingPile内存使用情况,分两步
1、输入ps -ef | grep ChargingPile
2、输入top -p 3295
如下图

在这里插入图片描述
在这里插入图片描述其中RES为真实的物理地址,单位是KB,VIRT为虚拟地址大小

第二种方法,ps指令

输入指令 ps -aux | grep 应用名称
举例:查看进程ChargingPile内存使用情况
root@SCT230A:/# ps -aux | grep ChargingPile
root      3295  3.0  0.0  41112  1396 pts/0    Sl+  15:11   3:14 /usr/local/extapps/ChargingPile/bin/ChargingPile
root      5416  0.0  0.0   2060   536 pts/1    S+   16:57   0:00 grep --color=auto ChargingPile
root@SCT230A:/# 

在这里插入图片描述第一个红圈3.0和0.0表示是CPU和内存的使用率,第二个红圈表示虚拟地址和真实物理地址大小,单位是KB

第三种方法,cat /proc/pid/status 指令

分两步:
 第一步:获取进程ID号
  ps -ef | grep <进程名称>
 第二步:获取内存使用情况
  cat /proc/pid/status
  举例:查看进程ChargingPile内存使用情况
 第一步:获取PID
root@SCT230A:/# ps -ef | grep ChargingPile
root      3295  2756  3 15:11 pts/0    00:03:40 /usr/local/extapps/ChargingPile/bin/ChargingPile
root      9563 17703  0 17:12 pts/1    00:00:00 grep --color=auto ChargingPile
root@SCT230A:/# 
第二步:查询内存使用情况

root@SCT230A:/# cat /proc/3295/status
Name: ChargingPile
State: S (sleeping)
Tgid: 3295
Pid: 3295
PPid: 2756
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 32
Groups: 0 1 2 3 4 6 10 11 20 26 27 
VmPeak:    42136 kB
VmSize:    41112 kB
VmLck:        0 kB
VmPin:        0 kB
VmHWM:     1396 kB
VmRSS:     1396 kB
VmData:    37864 kB
VmStk:      132 kB
VmExe:      104 kB
VmLib:     2348 kB
VmPTE:       18 kB
VmSwap:        0 kB
Threads: 5
SigQ: 2/14381
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 0000000180000002
CapInh: 00000000a80425fb
CapPrm: 00000000a80425fb
CapEff: 00000000a80425fb
CapBnd: 00000000a80425fb
Seccomp: 2
Cpus_allowed: f
Cpus_allowed_list: 0-3
Mems_allowed: 1
Mems_allowed_list: 0
voluntary_ctxt_switches: 3
nonvoluntary_ctxt_switches: 10
root@SCT230A:/# 

其中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
发出的红包

打赏作者

五彩缤纷的代码世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值