Top命令的内存信息

2021-09-03  本文已影响0人  浪里_个郎
物理内存  总量             已用              剩余        缓存,主要用于目录方面,inode值等
Mem:   2888480k total,  2830188k used,    58292k free,    12244k buffers                       
虚拟内存  总量             已用              剩余        物理内存的缓存,用于已打开的文件             
Swap:  1048572k total,     1332k used,  1047240k free,  1285456k cached  

total=used+free
used=buffers+cached (maybe add shared also)

缓存内存(Cache Memory)在你需要使用内存的时候会自动释放,用下面的命令可以释放Cache Memory:

## To free pagecache:
echo 1 > /proc/sys/vm/drop_caches
## To free dentries and inodes:
echo 2 > /proc/sys/vm/drop_caches
## To free pagecache, dentries and inodes:
echo 3 > /proc/sys/vm/drop_caches

然后再来看看进程的具体内存占用:

  PID USER         PR  NI   VIRT  RES  SHR S  [%CPU] %MEM     TIME+ ARGS                                                                               
  871 system       18  -2   4.3G 228M 183M S  34.4        8.0         0:50.11 system_server

VIRT:virtual memory usage 虚拟内存
1、进程虚拟内存大小,包括进程使用的库、代码、数据等。VIRT = SWAP + RES
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out。RES = CODE + DATA
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

SHR:shared memory 共享内存
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来

DATA
1、数据占用的内存。如果top没有显示,按f键可以显示出来。(android系统不行)
2、真正的该程序要求的数据空间,是真正在运行中要使用的。

上一篇 下一篇

猜你喜欢

热点阅读