linux下查看进程内存使用情况
动态查看一个进程的内存使用
top命令 top -d 1 -p pid [,pid ...] //设置为delay 1s,默认是delay 3s 如果想根据内存使用量进行排序,可以shift + m(Sort by memory usage)
静态查看一个进程的内存使用
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
top 内容解释
内容解释: PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NInice:值 VIRT:进程占用的虚拟内存 RES:进程占用的物理内存 SHR:进程使用的共享内存 S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数 %CPU:进程占用CPU的使用率 %MEM:进程使用的物理内存和总内存的百分比 TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。 COMMAND:进程启动命令名称
n: %MEM -- Memory usage (RES) A task's currently used share of available physical memory. o: VIRT -- Virtual Image (kb) The total amount of virtual memory used by the task. It includes all code, data and shared libraries plus pages that have been swapped out. (Note: you can define the STATSIZE=1 environment variable and the VIRT will be calculated from the /proc/#/state VmSize field.) VIRT = SWAP + RES. p: SWAP -- Swapped size (kb) The swapped out portion of a task's total virtual memory image. q: RES -- Resident size (kb) The non-swapped physical memory a task has used. RES = CODE + DATA. r: CODE -- Code size (kb) The amount of physical memory devoted to executable code, also known as the 'text resident set' size or TRS. s: DATA -- Data+Stack size (kb) The amount of physical memory devoted to other than executable code, also known as the 'data resident set' size or DRS. t: SHR -- Shared Mem size (kb) The amount of shared memory used by a task. It simply reflects memory that could be potentially shared with other processes. |