from:http://blog.csdn.net/hbcui1984/archive/2009/12/29/5101265.aspx
在服务器运行过程中,使用free -m查看服务器内存时,经常会发现free值很小,有些同学就会很紧张,总想采取一些措施,使得free值看起来高一点,心里就比较爽一点。其实,个人觉得这完全是图一时之快,没什么实质性用途。
一、大众释放内存方法
1. 首先使用free -m查看剩余内存
2. 执行sync命令
使用sync命令以确保文件系统的完整性,sync 命令运行 sync 子例程,将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。
3. 修改/proc/sys/vm/drop_caches
说明:
1>.
/proc是一个虚拟文件系统,我们可以通过对它的读写操作作为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件,来对
当前kernel的行为做出调整。也就是说我们可以通过调整/proc/sys/vm/drop_caches来释放内存。
2>. 关于drop_caches的官方说明如下:
Writing to this file causes the kernel to drop clean caches,dentries and inodes from memory, causing that memory to becomefree.
To free pagecache, use echo 1 > /proc/sys/vm/drop_caches;
to free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
to free pagecache, dentries and inodes, use echo 3 >/proc/sys/vm/drop_caches.
Because this is a non-destructive operation and dirty objects are not freeable, the user should run sync first.
3>. Linux内核会将它最近访问过的文件页面缓存在内存中一段时间,这个文件缓存被称为pagecache。
4.再使用free -m查看剩余内存,情况如下:
二、Linux内存分析
1. 首先对free -m查看结果进行分析
各参数含义:
- total:总物理内存
- used:已使用内存
- free:完全未被使用的内存
- shared:应用程序共享内存
- buffers:缓存,主要用于目录方面,inode值等
- cached:缓存,用于已打开的文件
- -buffers/cache:应用程序使用的内存大小,used减去缓存值
- +buffers/cache:所有可供应用程序使用的内存大小,free加上缓存值
其中:
- total = used + free
- -buffers/cache=used-buffers-cached,这个是应用程序真实使用的内存大小
- +buffers/cache=free+buffers+cached,这个是服务器真实还可利用的内存大小
2. Linux的内存分配方式
大家都知道,Linux服务器为了提高效率,会提前申请内存,即使这些内存没有被具体应用使用,Linux也会提前申请这些内存,然后利用这些内存做缓
存用,即将刚打开的文件系统存入cache中,这样对应的服务器free值会越来越少,buffers和cached会越来越大,因此给大家表象就是内存
越来越少了,大家就紧张了;其实,大家完全不用紧张,Linux服务器在发现内存不足时,会自动清理cached区域,释放内存,然后继续增大
cache,free继续减少。因此,那样手动降低内存使用率的方法,其实就是图一时之快,呵呵。
分享到:
相关推荐
mui的转场处理速度快,预加载机制可以迅速完成页面的加载和切换,使得用户体验更加流畅。此外,mui还支持下拉刷新和区域滚动,这些功能都采用原生方式实现,避免了元素抖动的现象,从而提升了交互的稳定性和舒适度。...
GTK+(GIMP Toolkit)是一种广泛应用于Linux桌面环境下的图形用户界面库。它为开发者提供了丰富的组件集合,便于快速构建美观且功能全面的应用程序。然而,对于某些特定需求而言,现有组件可能无法完全满足。为此,...
崔晓辉:2020球鞋二级市场数据报告.rar
崔锦江:让自主研发的国产医疗器械“挺起腰杆”.pdf
《崔洪波:穿越非常时期的品牌和营销指南》是一份深度探讨品牌在特殊时期如何应对挑战、把握机遇的行业报告。这份报告由知名营销专家崔洪波撰写,旨在为面临不确定性环境的企业提供策略指导和实战建议。以下是报告中...
乘联会秘书长崔东树:2018中国新能源乘用车政策及市场发展分析.pdf
崔宝秋的分享不仅仅为小米的开源之路提供了一次全面的展示,也为其他希望在开源领域取得成就的企业提供了宝贵的经验和思考方向。通过拥抱开源,小米不仅推动了自身技术的发展,也为整个开源社区做出了贡献。
1. Linux内核:Linux操作系统的核心部分,负责管理CPU、内存、磁盘等硬件资源,并提供系统服务和管理网络通信等。 2. GNU和Unix:GNU是一个广泛使用的免费软件项目,其目标是创建一套完全自由的操作系统,而Unix是...
在崔克俊所作的报告“大规模进行RSS聚合和网站下载在科学研究中的初步应用”中,他详细阐述了在科学研究中使用RSS聚合和整站下载的概念、技术实现以及需要注意的问题。接下来,我们将详细探讨这些知识点。 首先,崔...
艺龙CEO崔广福指出,在线旅游行业的无线预订正在经历一场革命,这一变革将深刻影响整个行业。随着预订周期的不断缩短,旅游行业需要适应这种变化并做好充分准备。艺龙公司已经在无线预订领域取得了显著成果,无线...
此外,还包括内存分配和释放的机制,以防止内存泄漏。 3. **文件系统**:Linux 0.11支持了基本的文件系统操作,如打开、关闭、读写文件等。文件系统通过i节点来跟踪文件的元数据,如大小、权限和修改时间。当时的...
Linux内核是操作系统的核心部分,负责管理系统的硬件资源、进程调度、内存管理、文件系统以及设备驱动等关键任务。在本案例中,我们讨论的是一个早期版本的Linux内核源码——"linux-0.12"。这个版本的源码可以从...
课程内容涵盖Linux网络操作系统的各个方面,包括安装、基本操作、用户管理、磁盘与网络配置、软件包管理、Shell编程以及常见服务器的配置与管理。 1. **Linux基础知识**:首先,学生将学习Linux的历史、版本和特性...
全国乘用车联席会秘书长崔东树指出,这种增长的关键在于政策的推动。 新的补贴政策旨在提升新能源汽车的质量和核心竞争力,鼓励燃料电池车以及纯电和插混高端乘用车的发展。政策调整力度大,但相对于之前流传的版本...
【崔凯慧Linux大作业实验报告1】是一个关于构建儒雅医院在线服务平台的项目报告,主要涉及了Linux操作系统、服务器管理和软件开发等多个IT领域的知识点。报告涵盖了软件需求分析、设计、实现以及实验流程,旨在为中...
在这份文档中,作者崔虎龙提供了一系列的故障排查思路和方法,通过案例加持的方式,帮助读者在一个小时内快速掌握如何对MySQL进行有效的问题分析和故障排查。 在进行MySQL故障排查时,首先应该掌握问题分析的基本...
崔洪波:穿越非常时期的品牌和营销指南 0221.pdf
崔晓辉:2020球鞋二级市场数据报告.pdf
崔志华:痴迷数学在"龙城" (2009年)