free命令
在终端中敲入:free
显 示: total used free shared buffers cached
Mem: 255268 238332 16936 0 85540 126384
-/+ buffers/cache:26408 228860
buffer,cached,shared
- buffer缓冲区,使用过IO的同学应该知道两台设备之间交互数据时使用buffer缓冲区传输数据,比如ByteBuffer
- cached缓存,缓存一般用于存储当前正在操作的数据,比如线程的本地内存,操作系统的高速缓存等,用于存放临时数据,可以与主存交互。
- shared共享内存
分析free命令结果
- total:内存总容量,这里表示255268KB
- used:被分配的内存
- free:未被分配的内存
- total = used + free
- 当前真实可用的内存 = 已分配但是未被使用的buffer + 已分配但是未被使用的cached + free
- used = 实际使用的内存 + 已分配但是未被使用的buffer + 已分配但是未被使用的cached
top命令看到的RES,VIRT
- RES:线程真正占用的内存
- VIRT:虚拟内存&