当前位置:首页 > 内存 > 正文

查看进程占用内存(top查看进程内存占用情况)

  • 内存
  • 2024-05-22 07:02:17
  • 7057

一、Linux系统中查看执行中的进程占用内存量的方法

要查看Linux中进程占用的内存,只需运行以下命令,并将[pid]替换为相应进程的PID号:

代码如下:

cat/proc/[pid]/status

说明

除了内存信息外,/proc/[pid]/status中还存储着信息包括进程ID、信号等信息,此时这里只呈现内存相关的信息。

字段说明VmPeak进程使用的虚拟内存峰值。虚拟机大小。VmLck进程当前使用的虚拟内存大小。VmLck锁定的物理内存大小(锁定的物理内存无法交换)。硬盘)VmHWM进程使用的物理内存。峰值内存容量。VmRSS进程当前使用的物理内存大小。VmData进程占用的数据段大小。VmStk进程占用的堆栈大小。VmExe进程占用的代码段的大小(不包括库)。VmLib进程加载的动态库占用的内存量(可以与其他进程共享)。VmPTE进程占用的页表大小(交换表项数)VmSwap进程使用的交换区域的大小。

示例

显示cron进程的内存信息,并使用pidofcronid获取进程或使用ps-aux|grepcron查找进程id。

代码如下所示:

$cat/proc/1161/status

Name:cron

State:S(sleeping)

Tgid:1161

Ngid:0

Pid:1161

PPid:1

TracerPid:0

Uid:0000

Gid:0000

FDSize:64

组:0

VmPeak:23792KB

VmSize:23656KB

VmLck:0KB

VmPin:0KB

VmHWM:1040KB

VmRSS:1004KB

VmData:260KB

VmStk:136KB

VmExe:40KB

VmLib:2668KB

VmPTE:72KB

VmSwap:0KB

线程:1

SigQ:0/15442

SigPnd:0000000000000000

ShdPnd:0000000000000000

SigBlk:0000000000000000

SigIgn:000000000000000

SigCgt:0000000000010001

CapInh:000000000000000

CapPrm:0000001ffffffffff

CapEff:0000001ffffffff

CapBnd:0000001ffffffffff

Seccomp:0

Cpus_allowed:3

Cpus_allowed_list:0-1

Mems_allowed:00000000,00000001

Mems_allowed_list:0

自愿_ctxt_开关:151

非自愿_ctxt_开关:0


二、linux怎么查看每个进程占用的内存
top命令是Linux中常用的性能分析工具,可以实时显示系统中各个进程的资源使用情况。与Windows任务管理器类似。
可以直接使用top命令。最后就可以看到%MEM的内容了。要查看oracle用户的进程内存使用情况,可以使用以下命令:
$top-uoracle
描述内容:
PID:进程ID
USER:进程所有者
PR:进程的优先级,优先级越低,执行的优先级越高。
NInice:值
VIRT:进程占用虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程状态。S正在休眠,R正在运行,Z为僵尸状态,N表示进程的优先级值为负
%CPU:进程占用的CPU使用率
%MEM:进程使用的物理内存和TotalMemory
TIME+百分比:进程自启动以来所占用的CPU时间总和,即CPU使用时间的累计值。
COMMAND:进程启动命令名
常用命令:
P:按CPU占用率%排名
T:按MITE+排名
M:按%MEM排名
2。pmap
可以根据进程查看进程相关信息占用的内存。(进程号可以通过ps查看。)
$pmap-d14596

相当于下面的例子:
$ps-e-o'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'其中rsz是物理内存。
$ps-e-o'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'|greporacle|sort-nrk5
其中rsz对于物理内存,在上面的例子中,内存实现按标准从最大到最小排序。