Linux与Windows不同,会存在缓存内存,通常叫做Cache Memory。有些时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存会很少。

什么是Cache Memory(缓存内存):

当你读写文件的时候,Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache

Memory(缓存内存)。即使你的程序运行结束后,Cache

Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少。

其实这缓存内存(Cache Memory)在你需要使用内存的时候会自动释放,所以你不必担心没有内存可用。如果你希望手动去释放Cache Memory(缓存内存)的话也是有办法的。

释放Cache Memory(缓存内存):

用下面的命令可以释放Cache Memory:

[rootmin@localhost~]#echo 3 > /proc/sys/vm/drop_caches

Linux中如何释放cache内存

因为LINUX的内核机制,一般情况下不需要特意去释放已经使用的cache。这些cache起来的内容可以增加文件以及的读写速度。

先说下free命令怎么看内存

[rootmin@localhost~]# free

total used free shared buffers cached

Mem: 515588 295452 220136 0 2060 64040

-/+ buffers/cache: 229352 286236

Swap: 682720 112 682608

其中第一行用全局角度描述系统使用的内存状况:

total——总物理内存

used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存

free——完全未被使用的内存

shared——应用程序共享内存

buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)

cached——缓存,用于已打开的文件

注意:

total=used+free

used=buffers+cached (maybe add shared also)

第二行描述应用程序的内存使用:

前个值表示-buffers/cache——应用程序使用的内存大小,used减去缓存值

后个值表示+buffers/cache——所有可供应用程序使用的内存大小,free加上缓存值

注意

-buffers/cache=used-buffers-cached

+buffers/cache=free+buffers+cached

第三行表示swap的使用:

used——已使用

free——未使用

cache释放:

1.   To free pagecache:

[rootmin@localhost~]#echo 1 > /proc/sys/vm/drop_caches

2.   To free dentries and inodes:

[rootmin@localhost~]#echo 2 > /proc/sys/vm/drop_caches

3.   To free pagecache, dentries and inodes:

[rootmin@localhost~]#echo 3 > /proc/sys/vm/drop_caches

说明,释放前最好sync一下,防止丢数据

linux内存一直在涨,linux内存一直占满问题相关推荐

  1. 45.JVM调优策略、常见问题:内存泄漏(年老代堆空间被占满、持久代被占满、堆栈溢出、线程堆栈满、系统内存被占满)优化方法:优化目标、优化GC步骤、优化总结;案例分析(公司系统参数、网上给的配置参数)

    45.JVM调优策略 45.1.常见问题 45.1.1.内存泄漏 45.1.1.1.年老代堆空间被占满 45.1.1.2.持久代被占满 45.1.1.3.堆栈溢出 45.1.1.4.线程堆栈满 45. ...

  2. linux系统var日志磁盘满了,Linux 系统(Centos版本)磁盘空间占满的解决办法。

    这两天 ,服务器借给了朋友 搭建  三端合一的 游戏,结果没弄成. 还给我服务器的时候,卧槽!!! ,40G的硬盘,使用率 百分百,这是放种子了??? 算了 ,自己借出去的服务器,含着泪也要修好. 本 ...

  3. 随着电脑开机时间越长,内存不断增大,直至占满

    问题描述:电脑为windows10系统,32g内存,AMD6500G,平常不关电脑,平常工作时多任务同时运行,初始开机只占用10%左右,随着任务越开越多,以及时间的增加,内存不断增大,直至占满,关闭程 ...

  4. linux内存分配 连续 足够,linux内存池能分配连续物理内存吗

    中. size参数: 内核是基于页技术分配内存,以最佳的利用系统的RAM. linux处理内存分配的方法是:创建一系列的内存对象池,每个池的内存大小事固定的,处理分配请求时,就直接在包含足够大的内存块 ...

  5. linux 查看 内存 占用,Linux终端:用smem查看内存占用情况

    无论是作为系统管理员,还是作为使用桌面版Linux的简单用户,你都会注意到,某个进程在耗用你系统的所有内存. 首先要明白Linux是如何管理内存的:我多次接到用户的反映,说运行了free命令,就是无法 ...

  6. Linux内存管理-高端内存(一)

    高端内存是指物理地址大于 896M 的内存.对于这样的内存,无法在"内核直接映射空间"进行映射. 为什么? 因为"内核直接映射空间"最多只能从 3G 到 4G, ...

  7. 【Linux基础】查看硬件信息-内存和硬盘

     1.使用free命令查看内存使用 (1)内存总量大小:查看Mem中的total值3697M free -mtotal used free shared buffers cached Mem: 369 ...

  8. 【Linux 内核 内存管理】内存管理架构 ② ( 用户空间内存管理 | malloc | ptmalloc | 内核空间内存管理 | sys_brk | sys_mmap | sys_munmap)

    文章目录 一.用户空间内存管理 ( malloc / free / ptmalloc / jemalloc / tcmalloc ) 二.内核空间内存管理 1.内核内存管理系统调用 ( sys_brk ...

  9. 【Linux 内核 内存管理】Linux 内核内存布局 ④ ( ARM64 架构体系内存分布 | 内核启动源码 start_kernel | 内存初始化 mm_init | mem_init )

    文章目录 一.ARM64 架构体系内存分布 二.Linux 内核启动源码 start_kernel 三.内存初始化源码 mm_init 四.内存初始化源码 mem_init 一.ARM64 架构体系内 ...

最新文章

  1. 盐为什么能使冰熔化得更快
  2. 独家 | 手把手教你推导决策树算法
  3. altium designer显示Analyzing GND,变得很卡
  4. Web Api 基于Zookeeper的服务注册与发现
  5. 每日一题 Day8:CodeForces-996A.Hit the Lottery(贪心)
  6. vue小demo易错点总结
  7. springboot 删除路径下面所有文件_springboot文件上传删除下载
  8. dataGrid点击显示数据到textBox
  9. 小白设计模式:桥接模式
  10. 综观java读取和创建excel方法
  11. oracle desc卡,Oracle的一个bug,desc的bug,很夸张,这么基础的功能居然有bug
  12. builder forms oracle 函数如何使用_Oracle EBS 之 Forms开发 一
  13. AI人工智能服务器安装说明书,AI人工智能电脑配置及服务器双显卡的安装总结...
  14. ArcMap 小知识(16):栅格计算器 raster calculator
  15. Leetcode_603. 连续空余座位
  16. Android开发-WebView中实现Android调用JS JS调用Android 【三】
  17. nodejs的http请求是报错 socket hang up
  18. 配置伪分布式hadoop集群(附常见配置问题)
  19. SpringBoot整合Elasticsearch详细步骤以及代码示例(附源码)
  20. python miio 连接小米网关_智能家居沟通不再难,小米米家智能多模网关发布,三种协议全支持...

热门文章

  1. osgi学习之---扩展点理解
  2. eclipse rcp应用程序重启
  3. MS CRM 2011中,对于多实体数据文件的导入
  4. idea集成scala插件
  5. k8s控制器:Job和CronJob
  6. 代码示例:使用redis计数来控制单位时间内对某接口的访问量
  7. Java IO模型--BIO、NIO Single Thread、NIO Reactor、AIO单线程及多线程AIO
  8. Spring4 MVC表单验证代码示例
  9. 如何在eclipse中自定义一个jar包名称
  10. Vector Field Histogram(VFH+ algorithm(向量直方图避障))