查询shell中的内存细节

时间:2010-02-11 08:04:41

标签: bash memory shell memory-management

是否有shell命令可以了解特定时刻正在使用多少内存,以及每个进程使用了​​多少内容,剩下多少虚拟内存等等?

5 个答案:

答案 0 :(得分:3)

对于“每个流程”,top

怎么样?
PhysMem: 238M wired, 865M active, 549M inactive, 1652M used, 395M free.
VM: 162G vsize, 1039M framework vsize, 124775(0) pageins, 9149(0) pageouts.

PID   COMMAND      %CPU TIME     #TH  #WQ  #POR #MREG RPRVT  RSHRD  RSIZE  VPRVT  VSIZE  PGRP PPID STATE    UID
7233  top          5.7  00:00.53 1/1  0    24   33    1328K  264K   1904K  17M    2378M  7233 3766 running  0  

e.g:

rprvt  Resident private address space size.
rshrd  Resident shared address space size.
rsize  Resident memory size.
vsize  Total memory size.
vprvt  Private address space size.

答案 1 :(得分:3)

让我们也听听旧经典vmstat

$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0  30160  15884 418680 281936    0    0   406    22    6    3  1  1 93  5

答案 2 :(得分:2)

取决于您的操作系统。在Linux中,free回答了三个问题中的两个问题。

~> free
             total       used       free     shared    buffers     cached
Mem:        904580     895128       9452          0      63700     777728
-/+ buffers/cache:      53700     850880
Swap:       506036          0     506036

“交换”是指虚拟内存。

答案 3 :(得分:0)

如果您使用的是最新的Linux,cat /proc/$pid/smaps就是您的业务。

如果您使用的是OSX,请检查https://superuser.com/questions/97235/how-much-swap-is-a-given-mac-application-using

答案 4 :(得分:0)

如果您使用的是Linux,请尝试ps_mem.py