Linux内存管理策略

- 内存盈余时,拿出部分内存作为buffer(读写缓存),用于提高IO速度,拿出部分内存用作chche(文件缓存),用于提高应用的计算处理速度;
内存不足时,则会释放buffer、cache,满足应用的内存的请求;
查看剩余内存的内存
root@rk3399_lonbon_mid:/data/ssh # free -mtotal used free shared buffersMem: 1962 1503 459 44 15-/+ buffers/cache: 1488 474Swap: 508 0 508
说明:
total :总的内存大小,总内存 = free + used
- used:已使用的内存。“Mem行”下的used内存是包含了buffer和cache的;“-/+ buffers/cache行”下的used内存是不包含buffer和cache的。
- free:剩余内存。“Mem行”下的free内存是不包含buffer和cache的;“-/+ buffers/cache行”下的free内存是包含了buffer和cache的。
- shared:多个进程共享的内存。shared内存属于used内存的一部分。
- buffers:用于读写缓冲的内存。
手动释放cache
sysc 先将cache中缓冲的文件数据写入到磁盘
echo 0 > /proc/sys/vm/drop_chches 让系统自动管理内存
echo 1 > /proc/sys/vm/drop_chches 释放页缓存
echo 2 > /proc/sys/vm/drop_chches 释放dentries和inodes
echo 3 > /proc/sys/vm/drop_chches 释放所有缓存
