首页 > Linux操作系统 > Linux操作系统 > 解析Linux中的内存使用
由于有缓冲区和缓存这部分内存的存在,所以Linux中的物理内存看上去在很短的时间内就被消耗完了,其实当新的程序调用内存或已有程序调用更多内存时,可以使用缓冲区和缓存这部分内存。
使用free –m查看系统内存使用情况:
[oracle@sms ~]$ free -m其中
Mem行:
total表示物理内存减去内核保留的内存
used表示total中已经使用的内存(包含程序使用的内存、buffers和cached)
free表示total中未使用的物理内存
buffers与某个块设备关联,包含了文件系统元数据,其中放得是对象的数据结构,并且跟踪了块的变化。
cached包含了文件本身,其中存放的是无结构的块数据。
-/+ buffers/cache行:
used表示程序运行占用的内存。
free表示系统可以使用的内存(包含了buffers和cached)。
Swap行:
total表示系统的总的虚拟内存
used表示系统已经使用的虚拟内存。
free表示系统未使用的空闲虚拟内存。
其中存在以下的等式关系:
Mem(total)= Men(used)+ Men(free)
Mem(used)= 内核使用内存 + 程序使用内存 + Mem(buffers)+ Mem(cached)
程序使用内存 = Mem(total)- Mem(buffers)- Mem(cached)
= -/+ buffers/cache(used)
程序还可以申请的内存 <= Men(free)+ Mem(buffers)+ Mem(cached)
<= -/+ buffers/cache(free)
由上可以看出,衡量内存是否够用可以查看-/+ buffers/cache(free)和虚拟内存的使用率。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26194851/viewspace-713366/ ,如需转载,请注明出处,否则将追究法律责任。