Centos 内存占满 释放内存

一台老的PHP后台服务器,今天用 free -m 查看,发现内存跑满了。

再 top,然后按下shift+m,也就是按内存占用百分比排序,发现排在第一的进程,才占用0.9%,那是什么占用的呢?谷歌了一下,据说是centos为了提高效率,把部分使用过的文件缓存到了内存里。如果是这样的话,我又不需要这样的文件性能,那就可以释放。如下两个命令就可以:

#sync

#echo 3 > /proc/sys/vm/drop_caches

内存释放后,就占用很低了,如下:

Centos 内存占满 释放内存

时间: 2024-12-17 05:33:14

Centos 内存占满 释放内存的相关文章

windows server 2008 大量拷贝后释放内存

管理的服务器中有一台windows 2008,这台服务器最近每天都会拷贝几十万的图片,拷贝量非常大,维护时发现每次拷贝完,操作系统的内存使用都会接近100%,导致没有办法进行其它操作,前几次都通过下班后重启服务器解决,今天仔细查了一下,找到了问题的原因 问题描述: server 2008 r2系统会在进行大量IO操作时,占据大量内存资源,直至内存占满,从而导致系统运行速度变慢. 相关现象:1. 内存占用率90%以上(即是是64G内存,也会占用63.5G)2. 资源管理器中所有进程内存和较低(约1

SDUT OJ 2892 A (字典树问题-输出出现次数最多的字符串的出现次数,60ms卡时间,指针+最后运行完释放内存)

A Time Limit: 60ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 给出n(1<= n && n <= 2*10^6)个字符串,每个字符串只包含小写英文字母,且最多有五个.问这n个字符串中出现次数最多的有多少个. 输入 单组输入.第一行输入一个数字n,接下来n行,每行包含一个字符串. 输出 输出一个数字代表答案. 示例输入 5 aba abb w aba z 示例输出 2 释放内存与不释放内存的区别:代码: #include &

JAVA模拟内存分配与释放——首次适应算法

前言 首次适应算法(FF,first fit)是内存基于顺序搜索的动态分配分区算法,在分配内存时,从链首开始顺序查找,直至找到一个大小能满足要求的空闲分区为止,然后在按照作业的大小从该分区中划出一块内存空间,分配给请求者,余下的空闲分区仍留在空闲链中.若从链首直至链尾都不能找到一个能满足要求的分区,则表明系统中已没有足够大的内存分配给该进程,内存分配失败,返回. 该算法倾向于优先利用内存中低地址部分的空闲分区,从而保留了高地址部分不断被划分.这为以后到达的大作业分配大的的内存空间创造了条件.其缺

【Android】开发优化之——查看内存情况,找到内存泄露

虽说知道一般性的开发android应用需要注意的问题,可是也有水平参差不齐的情况,特别是维护代码,如果内存占用大,内存溢出严重,又怎么解决呢?  --  通过DDMS把heap抓出来分析 1.打开DDMS 2.选中需要查看的程序,并且点击Update Heap图标 3.查看Heap情况 但是这仅仅是查看一下Heap的使用情况,那如果发现内存占用或者溢出很严重,动不动就OOM了.通过这个是看不出啥东西的,这个时候就需要把Heap抓出来分析,在UpdateHeap边上还有一个按钮. 点一下,会生成一

linux下怎样释放内存、swap分区满的情况

在Linux系统下,我们一般不需要去释放内存,因为系统已经将内存管理的很好.但是凡事也有例外,有的时候内存会被缓存占用掉,导致系统使用SWAP空间影响性能,此时就需要执行释放内存(清理缓存)的操作了. Linux系统的缓存机制是相当先进的,他会针对dentry(用于VFS,加速文件路径名到inode的转换).Buffer Cache(针对磁盘块的读写)和Page Cache(针对文件inode的读写)进行缓存操作.但是在进行了大量文件操作之后,缓存会把内存资源基本用光.但实际上我们文件操作已经完

PHP如何释放内存之unset销毁变量并释放内存详解

PHP的unset()函数用来清除.销毁变量,不用的变量,我们可以用unset()将它销毁.但是某些时候,用unset()却无法达到销毁变量占用的内存!我们先看一个例子: <?php $s = str_repeat('1',255); //产生由255个1组成的字符串 $m = memory_get_usage(); //获取当前占用内存 unset($s); $mm = memory_get_usage(); //unset()后再查看当前占用内存 echo $m-$mm; ?> 最后输出u

iframe动态创建及释放内存

最近参与一个项目的开发,由于项目是基于浏览器的胖客户端(RIA)应用程序,页面中大量调用iframe.后期测试发现浏览器内存一直居高不下,而且打开iframe页面越多内存占用越大,在IE系列浏览器中尤其明显.所有打开的iframe页面即使关闭了,内存使用也没有明显的下降,IE浏览器在内存占用达到400M左右就变得很卡.分析发现是iframe没有释放造成的,于是对所有已关闭的iframe所占用的内存进行释放,虽然不能完全释放,但是iframe内存占用量不会一直增长,整个应用内存使用量控制在150M

c与c++分别是怎样动态分配和释放内存的,有什么区别

C语言 c语言提供内存动态分配的函数有:malloc.calloc.realloc,在使用这些函数时必须包含其头文件,分别为:<malloc.h>.<stdlib.h>.<alloc.h> 1) malloc 函数:void *malloc(unsigned int size) 在内存的动态分配区域中分配一个长度为size的连续空间,如果分配成功,则返回所分配内存空间的首地址,否则返回NULL,申请的内存不会进行初始化. 2) calloc 函数: void *call

让.NET程序快速释放内存的办法

公司里的一个程序,经过了N个人的手后发现上了生产内存会一直涨,直到物理内存几乎被占用完毕后突然就下降下来(估计是GC给释放了),然后再一直涨.这个程序主要是对字符串进行处理,困扰了我好几天,本机测试内存也有增长的趋势,但是不大明显,上生产是2.3分钟内存就上G,没找到究竟哪里的问题.从网上搜了些资料,看到可以让.NET立即释放内存,本地简单测试了一下,真的管用,但是没敢用,不知道对于多线程的程序,当一个线程显示释放内存时会不会影响到其他线程,而且我是做金融行业程序的,程序万一出问题就是事故,所以