linux内存一直在涨,linux内存一直占满问题
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内存一直占满问题相关推荐
- 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. ...
- linux系统var日志磁盘满了,Linux 系统(Centos版本)磁盘空间占满的解决办法。
这两天 ,服务器借给了朋友 搭建 三端合一的 游戏,结果没弄成. 还给我服务器的时候,卧槽!!! ,40G的硬盘,使用率 百分百,这是放种子了??? 算了 ,自己借出去的服务器,含着泪也要修好. 本 ...
- 随着电脑开机时间越长,内存不断增大,直至占满
问题描述:电脑为windows10系统,32g内存,AMD6500G,平常不关电脑,平常工作时多任务同时运行,初始开机只占用10%左右,随着任务越开越多,以及时间的增加,内存不断增大,直至占满,关闭程 ...
- linux内存分配 连续 足够,linux内存池能分配连续物理内存吗
中. size参数: 内核是基于页技术分配内存,以最佳的利用系统的RAM. linux处理内存分配的方法是:创建一系列的内存对象池,每个池的内存大小事固定的,处理分配请求时,就直接在包含足够大的内存块 ...
- linux 查看 内存 占用,Linux终端:用smem查看内存占用情况
无论是作为系统管理员,还是作为使用桌面版Linux的简单用户,你都会注意到,某个进程在耗用你系统的所有内存. 首先要明白Linux是如何管理内存的:我多次接到用户的反映,说运行了free命令,就是无法 ...
- Linux内存管理-高端内存(一)
高端内存是指物理地址大于 896M 的内存.对于这样的内存,无法在"内核直接映射空间"进行映射. 为什么? 因为"内核直接映射空间"最多只能从 3G 到 4G, ...
- 【Linux基础】查看硬件信息-内存和硬盘
1.使用free命令查看内存使用 (1)内存总量大小:查看Mem中的total值3697M free -mtotal used free shared buffers cached Mem: 369 ...
- 【Linux 内核 内存管理】内存管理架构 ② ( 用户空间内存管理 | malloc | ptmalloc | 内核空间内存管理 | sys_brk | sys_mmap | sys_munmap)
文章目录 一.用户空间内存管理 ( malloc / free / ptmalloc / jemalloc / tcmalloc ) 二.内核空间内存管理 1.内核内存管理系统调用 ( sys_brk ...
- 【Linux 内核 内存管理】Linux 内核内存布局 ④ ( ARM64 架构体系内存分布 | 内核启动源码 start_kernel | 内存初始化 mm_init | mem_init )
文章目录 一.ARM64 架构体系内存分布 二.Linux 内核启动源码 start_kernel 三.内存初始化源码 mm_init 四.内存初始化源码 mem_init 一.ARM64 架构体系内 ...
最新文章
- 盐为什么能使冰熔化得更快
- 独家 | 手把手教你推导决策树算法
- altium designer显示Analyzing GND,变得很卡
- Web Api 基于Zookeeper的服务注册与发现
- 每日一题 Day8:CodeForces-996A.Hit the Lottery(贪心)
- vue小demo易错点总结
- springboot 删除路径下面所有文件_springboot文件上传删除下载
- dataGrid点击显示数据到textBox
- 小白设计模式:桥接模式
- 综观java读取和创建excel方法
- oracle desc卡,Oracle的一个bug,desc的bug,很夸张,这么基础的功能居然有bug
- builder forms oracle 函数如何使用_Oracle EBS 之 Forms开发 一
- AI人工智能服务器安装说明书,AI人工智能电脑配置及服务器双显卡的安装总结...
- ArcMap 小知识(16):栅格计算器 raster calculator
- Leetcode_603. 连续空余座位
- Android开发-WebView中实现Android调用JS JS调用Android 【三】
- nodejs的http请求是报错 socket hang up
- 配置伪分布式hadoop集群(附常见配置问题)
- SpringBoot整合Elasticsearch详细步骤以及代码示例(附源码)
- python miio 连接小米网关_智能家居沟通不再难,小米米家智能多模网关发布,三种协议全支持...