是否有shell命令可以了解特定时刻正在使用多少内存,以及每个进程使用了多少内容,剩下多少虚拟内存等等?
答案 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。