工作中可能会遇到服务器本身压力不大,程序使用内存也不大,但是内存使用占用了大部分。此时我们可以通过清理缓存内解决此问题。

在清理缓存前,需要先sync下,原因:

因为系统在操作的过程当中,会把你的操作到的文件资料先保存到buffer中去,因为怕你在操作的过程中因为断电等原因遗失数据,所以在你操作过程中会把文件资料先缓存。

所以我们在清理缓存先要先把buffe中的数据先写入到硬盘中,sync命令

root@instance-fs8zzgqj:~# sync

root@instance-fs8zzgqj:~# echo 3 > /proc/sys/vm/drop_caches    #3表示清理所有缓存

1. /proc是一个虚拟文件系统,我们可以通过对它的读写操作作为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整。也就是说我们可以通过调整/proc/sys/vm/drop_caches来释放内存。

0 – 不释放

1 – 释放页缓存

2 – 释放dentries和inodes

3 – 释放所有缓存

数字1是用来清空最近放问过的文件页面缓存

数字2是用来清空文件节点缓存和目录项缓存

数字3是用来清空1和2所有内容的缓存。

2. Linux内核会将它最近访问过的文件页面缓存在内存中一段时间,这个文件缓存被称为pagecache。

Inode是linux/unix操作系统中的一种数据结构,包含了各文件相关的一些重要信息。在创建文件系统时,就会同时创建大量的inode。一般inode表会占用文件系统磁盘空间的1%,目录项缓存(dcache)dentries

上图中:第二行才是真正服务器的使用和空闲内存

各参数含义:

total:总物理内存

used:已使用内存

free:完全未被使用的内存

shared:应用程序共享内存

buffers:缓存,主要用于目录方面,inode值等

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

-buffers/cache:应用程序使用的内存大小,used减去缓存值

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

其中:

total = used + free

-buffers/cache=used-buffers-cached,这个是应用程序真实使用的内存大小

+buffers/cache=free+buffers+cached,这个是服务器真实还可利用的内存大小

Linux的内存分配方式,Linux服务器为了提高效率,会提前申请内存,即使这些内存没有被具体应用使用,Linux也会提前申请这些内存,然后利用这些内存做缓存用,即将刚打开的文件系统存入cache中,这样对应的服务器free值会越来越少,buffers和cached会越来越大,因此给大家表象就是内存越来越少了,大家就紧张了;其实,大家完全不用紧张,Linux服务器在发现内存不足时,会自动清理cached区域,释放内存,然后继续增大cache,free继续减少。因此,这样手动降低内存使用率的方法是不可取的。

参考:https://www.cnblogs.com/lanqingzhou/p/8059339.html

linux选was清除缓存,Linux清除缓存操作相关推荐

  1. linux选哪个显卡,常用linux系统,最好选用哪种显卡?

    singleym 于 2011-02-28 10:05:20发表: 选择N卡比较合适,比较好闹~ linuxzj 于 2011-02-28 00:18:25发表: 好东西 singleym 于 201 ...

  2. 清除Linux和window等系统的DNS缓存的命令

    一.Linux下清空DNS缓存 Linux下DNS缓存实现通常有两种方式: 一种是用DNS缓存程序NSCD(name service cache daemon)负责管理DNS缓存. 一种实现DNS缓存 ...

  3. linux清除位图缓存,ElasticSearch的缓存清除策略

    前面提及了字段过滤缓存,那么与之相反的清楚缓存策略 单一索引缓存,多索引缓存和全部缓存的清理 1.清空全部缓存 curl localhost:9200/_cache/clear?pretty { &q ...

  4. linux nginx http cache时间不对,Linux中Nginx设置proxy_cache缓存与取消缓存-linux-操作系统-壹...

    本文章来讲述一下关于Linux中Nginx设置proxy_cache缓存与取消缓存实现方法,有需要的朋友可参考. 在配置文件的server{}内,添加这么一句即可: 代码如下 复制代码 locatio ...

  5. linux redis客户端_10个 Linux 顶级开源缓存工具

    可靠的分布式计算系统和应用程序已成为杰出业务的基石,尤其是在自动化和管理关键任务业务流程以及向客户提供服务方面.作为这些系统和应用程序的开发人员和系统管理员,您应该提供各种信息技术(IT)解决方案,以 ...

  6. 如何快速清除 Ubuntu 的系统缓存

    原文链接:How to Quickly Clear Your System Cache in Ubuntu 你可能知道你的 Web 浏览器保留了你访问过的网站的一些缓存,因此随后再访问这些网站将会非常 ...

  7. win7怎么清理java缓存文件夹_Win7怎么清除浏览器缓存?清除电脑缓存的妙招

    电脑使用久了之后,缓存文件也将越来越多,慢慢的你会觉得系统变得很卡,所以我们需要定期的清除缓存.而产生缓存的来源,无非就是系统和运用程序,其中应用程序就属浏览器的缓存最多了,那么Win7系统下要怎么清 ...

  8. 邮箱服务器怎么清理缓存,如何清除Outlook的附件缓存?

    如何清除Outlook的附件缓存? 假设您在Outlook中打开Word文档的附件,然后关闭Microsoft Outlook而不关闭打开的附件,则将生成此Word文档的缓存并将其保存到Outlook ...

  9. 如何清除360网站服务器缓存,360安全浏览器怎样清除缓存360浏览器缓存清理

    <360安全浏览器怎样清除缓存360浏览器缓存清理>由会员分享,可在线阅读,更多相关<360安全浏览器怎样清除缓存360浏览器缓存清理(8页珍藏版)>请在人人文库网上搜索. 1 ...

  10. 如何单独清除某个网页的缓存(reload)

    有时候在自己服务器上调试的时候,刷新一直不更新,样式改了也看不到,就很烦 今天教你一个方法快速清除 F12 控制台情况下右击左上角的刷新 这三个分别代表: ①正常重新加载(Ctrl + R):  正常 ...

最新文章

  1. 2 0 1 8 全球人工智能技术大会--邀请函
  2. 如何优化才能赢得搜索引擎“欢心”,提升抓取量?
  3. Ext JS 6开发实例(四) :调整主视图
  4. java 事件驱动 netty_Netty2-事件驱动的NIO框架(使用范例)
  5. 1.2.3 TCP/PI参考模型(应用层、传输层、网际层、网络接口层)、五层参考模型(应用层、传输层、网络层、数据链路层、物理层)、OSI与TCP/IP参考模型比较
  6. SAP Cloud for Customer里的Sales Lead和Lead
  7. 如何不用 List.clear() 方法 就清空 list 中的 所有元素(中兴面试)
  8. pmp 成本估算准确高_如何更准确地估算JavaScript中文章的阅读时间
  9. for 循环 和 Array 数组对象
  10. mysql 查询 in memory_In-Memory整体汇总
  11. 【Todo】【读书笔记】Linux高性能服务器编程
  12. Docker容器中安装JDK
  13. python遗传算法解简单整数规划与原理探究
  14. WPF调用 ECharts 显示图表
  15. 【Unity】制作剧情向游戏使用Fungus插件
  16. android助手最新版本,Android 开发助手功能及版本介绍
  17. DEV C++ 关于自动缺省源设置问题
  18. png在ai转为路径_png格式转为ai格式
  19. 体验共享单车后对于Locman技术实现的几点思考
  20. 如何下载旧版本R和R包?

热门文章

  1. 微信公众号开发之(42)curl 图书查询
  2. 机器学习(八):样本分布不均衡问题的处理
  3. qemu与宿主机网络通信配置
  4. Acm - 隔壁老王买酒问题
  5. WP8.1开发:简单天气预报应用(转)
  6. itsm安装部署(Vmware)
  7. 360 html有毒,火萤视频桌面有毒吗 如何解决360安全卫士误报有毒的问题
  8. centos 6 python django mysql_CentOS 6.5中部署django+uwsgi+nginx+mysql项目
  9. Minimum supported Gradle version is 6.1.1. Current version is 5.6.4
  10. linux sql server 迁移,SQL Server2008 实例数据迁移步骤