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

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

  • 内存
  • 2024-04-30 20:53:44
  • 746

一、查看LINUX进程内存占用情况(1)top
top命令是Linux下常用的性能分析工具。它可以实时显示系统中各个进程的资源使用情况。类似于Windows任务管理器可以直接使用top命令查看%MEM的内容。可以选择按进程查看,也可以按用户查看如果想查看oracle用户的进程内存使用情况,可以使用如下命令:
$top-uoracle
内容说明: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)pmap
可以根据进程查看进程占用的内存相关信息(通过ps可以看到进程号)如下:
$pmap-d14596
(3)ps
如下例所示:
$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是实际内存,上面的例子实现从内存排序,从大到小
二、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下怎么查看一个进程占用内存大小

这里是一个检查进程占用内存大小的方法。

1首先,点击桌面左上角的程序,选择系统工具选项,如下。

2然后点击下拉菜单中的系统终端选项,如下。

3此时,会来到系统终端命令行,如下。

4最后输入free-h命令,在结果中找到total,可以看到系统的总内存情况,如下。