【转载】Linux中关于Cache Memory的介绍
2013-08-08 08:29
197 查看
源自:http://yaronspace.cn/blog/archives/1525
最近在做性能优化时,遇到一个问题,系统中进程占用的内存没有那么多,但是通过TOP看到系统对实际物理内存接近满额,十分纳闷,后来问了同事
才知道原来是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
Mem: 16425996 10727220 5698776 0 380904 9389832
-/+ buffers/cache: 956484 15469512
Swap: 8273464 212 8273252
其中第一行用全局角度描述系统使用的内存状况:
total——总物理内存
used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存
free——完全未被使用的内存
shared——应用程序共享内存
buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
cached——缓存,用于已打开的文件
最近在做性能优化时,遇到一个问题,系统中进程占用的内存没有那么多,但是通过TOP看到系统对实际物理内存接近满额,十分纳闷,后来问了同事
才知道原来是Cache Memory占用了大量内存,上网查阅了相关资料,整理记录下。
什么是Cache Memory
当进程对磁盘中的文件大量读写时,Linux内核为了提升读写性能,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少。如何释放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
free命令介绍
total used free shared buffers cachedMem: 16425996 10727220 5698776 0 380904 9389832
-/+ buffers/cache: 956484 15469512
Swap: 8273464 212 8273252
其中第一行用全局角度描述系统使用的内存状况:
total——总物理内存
used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存
free——完全未被使用的内存
shared——应用程序共享内存
buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
cached——缓存,用于已打开的文件
相关文章推荐
- 【转载】Linux中关于Cache Memory的介绍
- Ubuntu8.04下的ARM交叉编译工具链(arm-linux-)详细介绍 --转载
- [转载]4412开发板关于Linux QT和Android操作系统的烧写问题总结
- 关于jQuery选择器的完成介绍(转载)
- 关于Linux的缓存内存 Cache Memory详解
- 关于WSL(Windows上的Linux子系统)的简单介绍及安装
- Linux发行版知识:关于openSUSE的详细介绍
- Linux中关于用户和组的介绍
- Linux 关于Transparent Hugepages的介绍
- 【转载】Unix/Linux中编辑文件的命令VI详细介绍
- [转载]linux查询历史记录命令history的用法介绍
- 关于Linux下.so的介绍和编写过程
- linux--关于shell的介绍
- linux 下好用的音乐播放器介绍(转载)
- 关于 linux系统介绍
- 关于安装linux系统屏幕刷新率问题的详细介绍
- 关于linux图形界面编程基本知识 - 技术文档 - 程序开发 Linux时代 - 开源、... (转载)
- 关于预编译头文件介绍【转载】
- 关于 Linux 下的 chroot 的些许介绍
- linux2.6关于中断的一些入门介绍