另一起问题是24G内存的系统,空闲内存已经不到50M

1. 确认该系统的版本是64位

# uname -a
Linux gxgd-nms-app 2.6.18-194.el5xen #1 SMP Tue Mar 16 22:01:26 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

2. 用ps查看各进程的内存,大约就占用了4G, 绝大部分内存都是被Page Cache所占用。Linux内核的策略是最大程度的利用内存cache 文件系统的数据,提高IO速度,虽然在机制上是有进程需要更大的内存时,会自动释放Page Cache,但不排除释放不及时或者释放的内存由于存在碎片不满足进程的内存需求。

所以我们需要一个方法,能够限定PageCache的上限。

Linux 提供了这样一个参数min_free_kbytes,用来确定系统开始回收内存的阀值,控制系统的空闲内存。值越高,内核越早开始回收内存,空闲内存越高。

[root@zyite-app01 root]# cat /proc/sys/vm/min_free_kbytes
163840
echo 963840 > /proc/sys/vm/min_free_kbytes

其他可选的临时解决方法:

关闭oom-killer

cat /proc/sys/vm/oom-kill
echo "0" > /proc/sys/vm/oom-kill
vi /etc/sysctl.conf
  vm.oom-kill = 0

2. 清空cache (可选)
echo 1 > /proc/sys/vm/drop_caches

original link:http://www.cnblogs.com/itfriend/archive/2011/12/14/2287160.html

转载于:https://www.cnblogs.com/bonelee/p/7880615.html

linux 内存不足时候 应该及时回收page cache相关推荐

  1. linux page cache 大小,Linux内核学习笔记(八)Page Cache与Page回写

    Page cache是通过将磁盘中的数据缓存到内存中,从而减少磁盘I/O操作,从而提高性能.此外,还要确保在page cache中的数据更改时能够被同步到磁盘上,后者被称为page回写(page wr ...

  2. Linux内存管理: 物理内存的释放(回收).为物理页面抬棺

    前情提要: 地址转换 物理页面的分配 终于到了物理内存的释放. 内存页面如生命一般. 有生有死. 接下来我们就要为物理页面抬棺收尸了. 1.要点: 如何为兄弟抬棺回收? 分配时跟谁分开的, 回收时要跟 ...

  3. linux 内存越界判断_虚拟内存 和 page fault 的解释

    Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的.这样进程就可以很方便地访问内存,更确切地说是访问虚拟内存. 1.什么是虚拟内存 假设某个进程需要100MB的空间,而 ...

  4. Linux内存管理原理

    本文以32位机器为准,串讲一些内存管理的知识点. 1. 虚拟地址.物理地址.逻辑地址.线性地址 虚拟地址又叫线性地址.linux没有采用分段机制,所以逻辑地址和虚拟地址(线性地址)(在用户态,内核态逻 ...

  5. linux 内存占用_分享Linux内存占用几个案例

    案例一 问题 最近一台 CentOS 服务器,发现内存无端损失了许多,free 和 ps 统计的结果相差十几个G,非常奇怪,后来Google了许久才搞明白. 分析 1.linux系统内存消耗主要有三个 ...

  6. 网络缓存 峰值 linux,Linux Page Cache调优在Kafka中的应用

    本文首发于 vivo互联网技术 微信公众号 链接: 作者:Yang Yijun 本文主要描述Linux Page Cache优化的背景.Page Cache的基本概念.列举之前针对Kafka的 IO ...

  7. Linux的Page Cache

    1. Page Cache 何为Page Cache 为了了解Page Cache我们可以看一下Linux的文件I/O系统 从图中可以看出,Page Cache是由Linux内核进行管理的,而且通过m ...

  8. linux 共享内存_什么是物理/虚拟/共享内存——Linux内存管理小结一

    物理内存和虚拟内存到底有什么区别? 提到内存,我们会想到经常接触的三个词:虚拟内存.物理内存.共享内存.它们分别对应top输出中的VIRT.RES.SHR三列. 1. 物理内存 系统的物理内存被划分为 ...

  9. 32位linux 内存占用,LINUX内存高,触发OOM-KILLER问题解决

    最近遇到两起Linux的内存问题,其一是触发了oom-killer导致系统挂 1. 首先确认该系统的版本是32位 #uname -aLinux alarm 2.6.9-67.ELsmp #1 SMP  ...

最新文章

  1. 比特币现金可以指数级扩大并支持全球经济
  2. pci数据捕获和信号处理 感叹号_大学毕业设计一席谈之十五 扩频信号的捕获 (1)...
  3. 【BZOJ 3729】3729: Gty的游戏 (Splay维护dfs序+博弈)
  4. RFID采用率迟迟不涨,原因何在?
  5. const的使用CC++
  6. Something haunts me in Python
  7. c#实例-子线程查找另一线程模态对话框句柄(invoke测试)
  8. Kubernetes教程
  9. python+selenium方法大全
  10. tomcat设置context不生效_后端服务:关于Tomcat相关面试题,看懂这篇就够了(有深度)...
  11. 天空的心事,只有云懂
  12. DPDK Rx flexible descriptor在Intel E810网卡中的使用
  13. 教程 | 虚拟机VMware Workstation Pro安装教程
  14. 求生之路服务器未响应,求生之路2玩起来速度快,但是过几秒后,就卡住显示未响应,这是为什么...
  15. 思杰 Citrix 微软 Vmware 应用虚拟化 服务器虚拟化 桌面虚拟化 对比
  16. NX/UG二次开发—装配—克隆相关知识总结
  17. 海思Hi3531 GPIO按键的长按、短按、连发——Linux驱动+应用程序
  18. 【Halcon】区域分割:background_seg
  19. 笔记本电脑死机重启故障
  20. 聚焦医疗人工智能:辅助医疗 减少误诊漏诊

热门文章

  1. c mysql批量插入优化_MySQL实现批量插入以优化性能的教程
  2. 手机python代码阅读_教你阅读Python开源项目代码!
  3. python贪吃蛇_如何用Python写一个贪吃蛇?
  4. oa系统登录后几分钟自动退出_2020版OA办公系统正式上线运行!
  5. mysql存储数据,varchar类型中的数据变成了科学计数法?
  6. Python2.7连接MySQL5.7 附demo
  7. Keras【Deep Learning With Python】实现多元线性回归
  8. python【力扣LeetCode算法题库】2-两数相加
  9. 脚本程序转变为可执行程序的第三方库——pyinstaller
  10. 中业科技机器人价格_协作机器人售价持续走低 本土厂商该如何发力