RHEL 7 下内存管理小记

一、Overview

众所周知,在 Linux 操作系统中有三个目录非常有趣好玩。

  • /dev
  • /run
  • /proc

一个个解释下,/dev 用于对特殊设备(BTW:特殊设备可用 touch 生成)进行文件化(Store data in flat text files);/run 用于内存目录化,很有名的例子就是 radius nosql 中的内存读写持久化。其实关于 /run 我一直很好奇银行的 UNIX 是不是就利用这个技术,从而实现维护时添加足够内存待维护完毕系统再写入 SQL 中。

最后,铛铛铛。

/proc 是一个虚拟文件系统,我们可以通过对它的读写操作做为与 kernel 实体间进行通信的一种手段。

那这次我们简单讲讲 /proc/sys/vm/drop_caches 文件

二、Resolution procfs

清空 pagecache:
sync
echo 1 > /proc/sys/vm/drop_caches
或者:
sync
sysctl -w vm.drop_caches=1
清空 dentries 和 inodes:
sync
echo 2 > /proc/sys/vm/drop_caches
或者:
sync
sysctl -w vm.drop_caches=2 清空所有缓存(pagecache、dentries 和 inodes):
sync
echo 3 > /proc/sys/vm/drop_caches
或者:
sync
sysctl -w vm.drop_caches=3

三、Source

sync

手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)

sysctl

针对 /proc 进行操作的简易方法,不用再手动修改 /proc 目录(就好比 windows 中组策略与注册表的区别,当然啦 Linux 并没有注册表的概念)。BTW:即便使用 sysctl -w 命令进行操作,重启后会依然会失效。若希望持久保存应写入 /etc/sysctl.conf 文件,还可以使用 sysctl -p 立即运行生效。

当发生内存不足、应用获取不到可用内存、OOM错误等问题时,还是更应该去分析应用方面的原因,如用户量太大导致内存不足、发生应用内存溢出等情况,否则,清空buffer,强制腾出free的大小,可能只是把问题给暂时屏蔽了。——摘自:linuxの飘扬

四、Reference material

https://zh.wikipedia.org/wiki/Procfs

http://blog.csdn.net/sky_qing/article/details/8988461

最新文章

  1. 使用setTimeout模拟setInterval效果
  2. CGAL4.1在VS2010上配置
  3. Hibernate总结4之HQL
  4. 《理解 ES6》阅读整理:函数(Functions)(一)Default Parameter Values
  5. RHEL5.8设置OpenSSH的X11 Forwarding功能
  6. JavaScript吸顶灯的实现
  7. C++之类的构造函数,不得不学明白的重点
  8. 删除顺序链表中重复的数 (一) leecode
  9. Quartz实现定时任务的配置方法
  10. 《白手起家Win32SDK应用程序》(完整版+目录)
  11. java 非缓冲与缓冲数据读取比较
  12. webservice服务器端获取request对象的三种方式
  13. sping配置头文件
  14. 移动端开发H5页面点击按钮后出现闪烁或黑色背景的解决办法
  15. python设计模式第五天【单例模式】
  16. (转)深度学习目标检测指标mAP
  17. React之函数中的this指向
  18. 7-13 Power Calculus 快速幂计算 uva1374
  19. sweetalert 快速显示两个提示, 第二个显示不出的问题
  20. 【裸裸的左偏树】BZOJ1455-罗马游戏

热门文章

  1. protobuf's custom-options
  2. mysql查询赋值、修改拼接字符串
  3. 探究算子find_shape_model中参数MaxOverlap的准确意思
  4. Photoshop中的高斯模糊、高反差保留和Halcon中的rft频域分析研究
  5. Java程序设计16——Annotatio注释
  6. myeclipse 快捷键,从步骤开始的大括号定位到匹配方法结束的大括号
  7. CSS中float和Clear的使用
  8. 借用服务器百度BAE
  9. Jmeter-Ant 生成测试报告
  10. UVALive - 6436 —(DFS+思维)