谈谈Linux内存释放
上上周吧,一个朋友问我说他公司的服务器内存free 为0 是为什么,意思大概是内存去哪了,这引发了一个小小的讨论,也就是内存释放的问题…
首先我们可能会用free 去查看内存的使用率,它应该是这样的
[root@ipython ~]# free -m
total used free shared buffers cached
Mem: 32040 31707 332 0 498 27649
-/+ buffers/cache: 3559 28480
Swap: 16087 0 16087 ##实际上在一个进程结束后其内存是会被释放的,但是内核没有立刻把内存收集到free中,而是存放在cache或buffers当中,以提高系统的IO效率,cache和buffered的内存是由内核进行动态的配置管理,如果系统的free大小不够的时候,系统会自动释放cache buffer的内存给程序使用!## ##证:如果说used占用很多,free很少,而且cache和buffer占的比例也很小,那表明内存是不够用了##
当然,如果你仍需要看到free比较多,你可以尝试这样
1、使用sync命令将所有未写的系统缓存区write to disk,包含已修改的i node、已延迟的块I\O和读写映射
[root@ipython ~]# sync 2、粗暴清理
[root@ipython ~]# cat /proc/sys/vm/drop_caches
0
##可以看到默认是0,drop_caches提供了三个选项操作##
1 清空页缓存 2 清空inode和目录树缓存 3 清空所有的缓存 ##清空缓存页##
[root@ipython ~]# echo "1">/proc/sys/vm/drop_caches ##再来看看##
[root@ipython ~]# free -m
total used free shared buffers cached
Mem: 32040 2564 29475 0 0 40
-/+ buffers/cache: 2524 29515
Swap: 16087 0 16087
» 转载保留版权:IT辰逸 » 《谈谈Linux内存释放》» 本文版权采取:BY-NC-SA 协议进行授权,转载注明出处。除IT-Tools、News以及特别标注,本站所有文章均为原创。» 如果喜欢可以:点此订阅本站
谈谈Linux内存释放的更多相关文章
- Linux 内存释放命令非常不错具有参考借鉴价值
		这篇文章主要介绍了Linux 内存释放命令的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下(http://www.120xcjl.com) 我使用的是CentOS 6.5 ,由于卸载Solr ... 
- Linux 内存释放
		简介 linux 内存释放通过如下命令,将cache与buff根据环境进行释放操作,避免重启释放内存. 操作 1.将内存中buff数据保存磁盘 sync 2.清理cache与buff缓存 echo 3 ... 
- 转 linux 内存释放
		原文 http://blog.zol.com.cn/2322/article_2321774.html #cat /proc/meminfo | grep "MemFree" | ... 
- linux 内存释放命令
		我使用的是CentOS 6.5 ,由于卸载Solr 后发现内存占用挺多的,我想释放一下内存,就查阅了一些资料,分享给大家: 1.free -m 查看内存的使用情况,-m表示单位是兆 2.echo 1 ... 
- 手工释放Linux内存
		转载自:http://blog.csdn.net/wyzxg/article/details/7279986/ linux的内存查看: [root@localhost 0.1.0]# free -m ... 
- 手工释放linux内存——/proc/sys/vm/drop_caches
		--手工释放linux内存——/proc/sys/vm/drop_caches 总有很多朋友对于Linux的内存管理有疑问,之前一篇日志似乎也没能清除大家的疑虑.而在新版核心中,似乎对这个问题提供了新 ... 
- Linux内存机制以及手动释放swap和内存
		今天我们来谈谈Linux的内存机制. 首先我们理一下概念 一.什么是linux的内存机制? 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成, ... 
- (转)手工释放linux内存——/proc/sys/vm/drop_cache
		linux的内存查看: [root@localhost 0.1.0]# free -m total used free shared ... 
- 手动释放linux内存cache
		总有很多朋友对于Linux的内存管理有疑问,之前一篇linux下的内存管理方式似乎也没能清除大家的疑虑.而在新版核心中,似乎对这个问题提供了新的解决方法,特转出来给大家参考一下.最后,还附上我对这方法 ... 
随机推荐
- ExtJs4 笔记(5) Ext.Button 按钮
			id="li2"></li> <li id="li3"></li> </ul> </div> ... 
- hdu 1028 母函数  一个数有几种相加方式
			///hdu 1028 母函数 一个数有几种相加方式 #include<stdio.h> #include<string.h> #include<iostream> ... 
- [Android学习笔记]ListView中含有Button导致无法响应onItemClick回调的解决办法
			转自:http://www.cnblogs.com/eyu8874521/archive/2012/10/17/2727882.html 问题描述: 当ListView的Item中的控件只是一些展示类 ... 
- OCP读书笔记(8) - 监控和调优RMAN
			监视RMAN作业 1. 创建rman备份: RMAN> run { allocate channel ch1 type disk; allocate channel ch2 type disk; ... 
- OCP读书笔记(2) - 配置恢复
			RMAN的命令类型 1. sqlplus命令 [oracle@oracle admin]$ export ORACLE_SID=orcl [oracle@oracle admin]$ rman tar ... 
- mysql导出和导入数据库
			出口 在dos计划,切换到mysql按照该文件夹bin下一个.输入以下命令 mysqldump -u root -p nxu_life > nxu_life2.sql 运行完毕后,就能够看到在b ... 
- 浅谈Swift语法
			Apple 在2014年6月的WWDC公布了一款新型的开发语言,很多美国程序猿的价值观貌似和我们非常大的不同,在公布的时候我们能够听到,场下的欢呼声是接连不断的.假设换作我们,特别是像有Objecti ... 
- bash学习之环境变量
			1.查看系统存在的环境变量env 和 export env命令:查看环境变量 [CJP@CJP ~]$ env HOSTNAME=CJP SHELL=/bin/bash HISTSIZE=1000 U ... 
- Redis缓存实现单点登录SSO
			.NET基于Redis缓存实现单点登录SSO的解决方案 .NET基于Redis缓存实现单点登录SSO的解决方案 一.基本概念 最近公司的多个业务系统要统一整合使用同一个登录,这就是我们耳熟能详的单 ... 
- Servlet(二)GenericServlet
			以GenericServlet创建Servlet 1.在FirstServlet同文件夹下建立GServlet.java package com.hunhun; import javax.servle ... 
