使用free1指令
[lcr@centos ~]$ free
total used free shared buff/cache available
Mem: 5739356 1328856 3485940 146308 924560 3969900
Swap: 6287356 0 6287356
[MI-R3G /opt/home/admin]# free -m
total used free shared buffers cached
Mem: 255532 206948 48584 0 296 170948
-/+ buffers/cache: 35704 219828
Swap: 0 0 0
项目 | 说明 |
total | 总共的内存,等于used+free |
used | 已用内存 |
free | 空闲内存 |
shared | 被多个进程共享的内存 |
buff/buffers | 缓冲,是用于存放要输出到disk(块设备)的数据。是根据磁盘的读写 设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。 |
cache/cached | 缓存,存放从disk上读出的数据。是把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不 要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在 最容易找到的位置,把不再读的内容不断往后排,直至从中删除。如果cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO bi会非常小。 |
available | 可用 |
Mem | 物理内存 |
-buffers/cache | = used -(buffers+cache) 表示使用的内存中不计算buffers和cache,系统使用内存量 |
+buffers/cache | =free+( buffers+cache) 表示系统空闲内存与buffers、cache的和 |
Swap | 交换内存,相当于windows系统的虚拟内存 |
使用sync指令2
[lcr@centos ~]$ sync
手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)
[lcr@centos ~]$ echo 3 > /proc/sys/vm/drop_caches
参数说明:
参数 | 说明 |
1 | To free pagecache: 清空 页面 高速缓存 |
2 | To free dentries and inodes: 清空 目录项 和 索引节点 |
3 | To free pagecache, dentries and inodes: 清空以上两项 |
实例
[MI-R3G /opt/home/admin]# free -m
total used free shared buffers cached
Mem: 255532 207028 48504 0 548 171168
-/+ buffers/cache: 35312 220220
Swap: 0 0 0
[MI-R3G /opt/home/admin]# echo 3 > /proc/sys/vm/drop_caches
[MI-R3G /opt/home/admin]# free -m
total used free shared buffers cached
Mem: 255532 40280 215252 0 340 5160
-/+ buffers/cache: 34780 220752
Swap: 0 0 0
执行前后对比可以看到,cached 一项的占用减少了很多
FREE指令
sync指令