CentOS 6.5 x86_64系统手动释放内存

1、查询当前内存使用情况和释放缓存的参数

redismaster 10:29:24 [~] [root] free -m
total used free shared buffers cached
Mem: 7872 777 7095 0 117 435
-/+ buffers/cache: 223 7648
Swap: 16383 0 16383

查看释放缓存参数的命令,如下所示:

redismaster 10:29:27 [~] [root] cat /proc/sys/vm/drop_caches
0

2、使用sync命令,将系统缓存区中的脏数据写入磁盘中,包括已修改的i-node、已延迟的块I/O和读写映射文件,命令

redismaster 10:30:12 [~] [root] sync

3、配置文件/proc/sys/vm/drop_caches中记录了缓存释放的参数,命令

redismaster 10:30:44 [~] [root] echo 3 > /proc/sys/vm/drop_caches

4、不重启机器使配置改生效,命令

redismaster 10:32:20 [~] [root] sysctl -p

时间: 2024-11-07 17:57:12

CentOS 6.5 x86_64系统手动释放内存的相关文章

CentOS5.8 x86_64系统手动释放内存

线上集群后端某台Web服务器,我们观察到+buffers/cache值(即Linux内存的实际使用情况)一直都是5365左右,就算停掉Nginx+FastCGI程序也是一样,考虑到这台机器经常在使用rsync+inotify,肯定会存在着频繁存取文件.而Linux系统有一个特性:在Linux下频繁存取文件时,就会占用物理内存.当程序结束时并不会自动释放被占用的内存,而是一直作为Cache存在.实际上内核结束一个程序后,它是会释放内存的,但是内核并没有立刻将这部分收集到free当中,而是存在在ca

Linux手动释放内存

手动释放内存 1.sync将内存中的缓存写入磁盘 2.  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.

Linux 手动释放内存

Linux 用了一段时间,内存就爆满了,Swap也开始使用,因为linux设计读取的数据都会缓存在内存里面,这样对于频繁读取的应用可以减少IO消耗,但像我这种不是SSD硬盘的PC用户,打开应用就感觉一卡一卡的,烦都烦死啦,不得不手动清除内存的数据(理论上linux会自动释放内存). 其实一条命令就搞定了:echo 3 > /proc/sys/vm/drop_caches 但在执行这条命令之前请先sync,把缓存的数据写到磁盘里面,要不有缓冲写数据,就有得你哭了^-^ 3是释放所有内存,默认是0,

CentOS 6.5 x86_64 系统定制自动化部署

一.制作环境准备 实验环境: VMware Workstation CentOS-6.5-x86_64-minimal 最小化安装 安装后,我们会使用系统 /root 目录下 install.log 和 anaconda-ks.cfg 这两个文件(在此基础上修改比较方便) 1.1 定制步骤 1.安装最小化的操作系统.包括基本的系统和所需要的工具等. 比如:对于http,mysql等软件,建议使用编译的方式安装, 然后打包放进去,可以减少许多依赖包的麻烦. 2.安装系统后,收集系统已安装的软件包,

linux中手动释放缓存的方法

linux中手动释放缓存的方法  Linux释放内存的相关知识介绍: 在Linux系统下,我们一般不需要去释放内存,因为系统已经将内存管理的很好.但是凡事也有例外,有的时候内存会被缓存占用掉,导致系统使用SWAP空 间影响性能,例如当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.,此时就需 要执行释放内存(清理缓存)的操作了. Linux系统的缓存机制是相当先进的,他会针对dentry(用于VFS,加速文件路径名到inode的

Linux手动释放缓存的方法

Linux释放内存的命令: syncecho 1 > /proc/sys/vm/drop_caches drop_caches的值可以是0-3之间的数字,代表不同的含义:0:不释放(系统默认值)1:释放页缓存2:释放dentries和inodes3:释放所有缓存 释放完内存后改回去让系统重新自动分配内存.echo 0 >/proc/sys/vm/drop_caches free -m #看内存是否已经释放掉了. 如果我们需要释放所有缓存,就输入下面的命令:echo 3 > /proc/s

linux内存管理及手动释放机制

inux系统中查看内存状态一般都会用到free linux的free命令中,cached和buffers的区别 Free Mem:表示物理内存统计 -/+ buffers/cached:表示物理内存的缓存统计 Swap:表示硬盘上交换分区的使用情况 系统的总物理内存:8098060 8Gb,但系统当前真正可用的内存并不是第一行free 标记的6054972Kb,它仅代表未被分配的内存. 我们使用total1.used1.free1.used2.free2 等名称来代表上面统计数据的各值,1.2

Linux内存(手动释放cache)

项目的扩容申请了一台机器,到手之后看一下机器的指标,看到内存使用情况是这样的. 1.查看内存 free $ free -h total used free shared buffers cached Mem: 125G 89G 36G 92K 212M 74G -/+ buffers/cache: 14G 111G Swap: 7.5G 1.8G 5.6G cat /proc/meminfo  如果你想得到更加相近的信息可以使用cat /proc/meminfo,直接看硬件的统计数据. MemT

如何手动释放linux内存?

在生产过程中,一些java模块会比较残忍的吃系统内存,然后如果这个模块写的比较挫,产生的垃圾就会比较多,如果linux系统的内存释放也不会及时,然后恶性循环,最后就把进程卡死,但是服务器是不可以down机的,所以这个时候就需要我们运维出来,手动的释放内存. 首先,我们登陆一台服务器,#free -m看一下目前的情况: 然后#cat /proc/sys/vm/drop_caches,会看到里面的值是0,0是不释放的意思. #sync,将系统缓存区中的脏数据写入磁盘中,包括已修改的i-node.已延