博士有几台frps服务器都出现了内存占用过高的现象,然后会出现CPU使用率飙升,网上找到这个清理buff/cache缓存脚本,希望有效果。

博士在找到这个脚本的时候也学到了一个关于Linux的知识点,内存用满并不是说不好,这恰恰是Linux内存管理的一个优秀特性,在这方面,区别于 Windows的内存管理。主要特点是,无论物理内存有多大,Linux都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。

运行该脚本之前我们先执行这个命令cat /proc/sys/vm/drop_caches

我们发现drop_caches默认值为0

创建mem.sh脚本#!/bin/bash

exec &>> /var/log/mem.log

Free=`free -m|awk 'NR==2 {print $4}'`

if [ $Free -lt 200 ];then

sync

echo 3 > /proc/sys/vm/drop_caches

fi

可以按照自己的生产环境,进行修改脚本,上面脚本中的sync指令作用是将所有未写的系统缓冲区写到磁盘中,包含已修改的i-node、已延迟的块I/O和读写映射文件。否则在释放缓存的过程中,可能会丢失未保存的文件。

使用方法sh ./mem.sh

加入crontab定时任务,每分钟检查一次* * * * * /bin/sh /root/mem.sh >/dev/null 2>&1

关于drop_caches文件数值的说明,博友们有兴趣可以研究一下:0-不释放

1-释放页缓存

2-释放dentries和inodes

3-释放所有缓存

查看内存使用的正确方法

运行命令free[root@localhost ~]# free -hm

total        used        free      shared  buff/cache   available

Mem:           3.7G        3.2G        216M        183M        270M        142M

Swap:          3.0G        200M        2.8G

详解:

1、total:总的物理内存

2、used:系统使用的内存,包括buff+cache。并非系统真正使用的内存。系统真正使用的内存=used-buff/cache

3、free:空闲的内存,系统未使用的内存,并不是系统启动应用程序可以真正使用的内存。

4、shared:共享内存

5、buff/cache:磁盘缓存的大小

6、available:在旧版free中,没有这个选项。这个选项指的是,系统启动程序时可以利用的内存,当这个选项很小或者不够启动程序所需的内存,会提示系统内存不足,无法启动,此时就需要处理问题,是物理内存真的不足,还是清理系统缓存。

这时再次查看drop_caches默认值已经变成3了。

linux内存占用过高怎么解决,centos7内存占用过高处理方法相关推荐

  1. 征途单机版场景服务器端口被占用,模拟城市5解决端口被占用的方法

    模拟城市5是一款城市模拟类游戏,玩家在游戏中必须保持城市道路的畅通,并且需要管理好城市的经济发展和人们的好感度,最近有玩家遇到游戏时端口被占用的问题,下面是详细解决办法. 解决端口被占用的方法 首先在 ...

  2. 该内存不能为read的解决办法:内存不能为read修复工具

    相信我们中的很多使用电脑的人都碰到过,有时候咚的一声弹出一个对话框,该内存不能为read错误提示, ,然后软件关闭,让人摸不着头脑.本站为你列出内存不能为read的原因和提供内存不能为read修复工具 ...

  3. wifi丢包率高怎么解决_网络Ping延时高怎么办 网络丢包高怎么解决

    电脑打开网页慢怎么办?利用Ping检测网络时延时高怎么解决呢?小编最近在玩LOL时出现Ping延时高的情况,导致游戏界面非常卡,打开网页时也显得很慢,由于使用笔记本电脑无线网卡来连接外网,因此可以通过 ...

  4. 守望先锋 服务器不稳定,守望先锋rtt高怎么解决 守望先锋rtt过高不稳定解决办法...

    守望先锋rtt代表什么?如果你在守望先锋游戏过程中,发现eet不稳定或过高时,应该怎么解决呢?下面,小编为大家带来守望先锋rtt过高不稳定解决办法. rtt是什么? RTT是指从你的客户端发送一个请求 ...

  5. 宝塔linux减少内存消耗,liunx宝塔面板解决rsyslogd内存占用很高的问题

    大鸟博客用的vps是瓦工的3核2G,cn2 gia线路的vps方案,按理说这么个小博客2G内存是足够使用了.可以是最近常常发现内存占用一度达到90%.一度怀疑是缓存所致,但是我的menmcached的 ...

  6. 大内存 php 干什么好 centos,解决CentOS7中php-fpm进程数过多导致服务器内存资源消耗较大的问题...

    前言: 最近服务器内存使用率一直居高不下,检查之后发现可能和php-fpm进程数过多有关.本文记录了我优化php-fpm配置文件的过程并补充了一些和php-fpm有关的知识. 什么是php-fpm: ...

  7. keepalived高可用解决脑裂,nginx高可用配置详细篇

    第一章 keepalived介绍 keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点状态,后来又加入了可以实现高可用的VRRP功能.此,keepal ...

  8. Win11的两个实用技巧系列之电脑system占用高的解决办法

    Win11 system占用cpu过高是什么原因? Win11电脑system占用高的解决办法 Win11 system占用cpu过高是什么原因?Win11系统遇到system占用cpu很高,该怎么解 ...

  9. android OS 耗电量大,安卓os耗电高怎么解决

    安卓os耗电高怎么解决,如果您在使用安卓系统的手机遇到耗电高的情况,不妨看一下下面几种解决耗电高的方法,希望能够解决您的疑问. 安卓os耗电高怎么解决 1.首先打开手机的[设置],在电池耗电量的列表中 ...

最新文章

  1. python的print格式化输出的format()方法和%两种方法
  2. 11.10错题集(7-函数)
  3. Service Mesh 在中国工商银行的探索与实践
  4. C++实现坐标的平移和旋转
  5. java 项目中遇到的错误
  6. 数据分析和数据挖掘的理论研究必要性
  7. buck电路pscad仿真_100kVar SVG模块主电路选型分析[李博士]
  8. 奔图打印机显示未连接_国货之“彩” |奔图CP2200DW彩色激光打印机首测
  9. 十三、mysql 分区之 RANGE LIST
  10. Win7中如何删除访问共享时所保存的用户名和密码
  11. 腾讯大讲堂 微信红包系统设计 优化
  12. ubuntu 上交叉编译 linaro 的库
  13. java 内存 监控_Java内存监视
  14. veracrypt 创建文件型加密卷
  15. 成为大数据工程师需要具备什么能力?发展前景好么
  16. 使用Excle做数据分析与时间序列季节指数预测
  17. 英特尔采用 LLVM 作为最新 C/C++ 编译器
  18. 远程服务器上配置conda环境
  19. 不买新电脑不能升级Win 11 ?旧版PC被踢出Win 11预览计划
  20. 哈工大计算机专硕和学硕学费,毕业后才知道,学硕和专硕截然不同,选错的学生悔不当初...

热门文章

  1. 用adb pull复制Android手机里的文件到服务器遇到system/bin/sh: adb: not found
  2. 交换机MAC地址表的形成过程动态演示
  3. 从 sourcemap 中获取源码
  4. 微信公众号01: ase实现access_token的存储和被动刷新
  5. 计算机网络笔记Part3 数据链路层(Data Link Layer)
  6. 利用BrainTree自定义UI绑定信用卡及Paypal
  7. 数据库 MySQL 中 DQL 数据库查询语言(特别重要)
  8. Poco库使用:任务管理器TaskManager
  9. 如何化解濒临离婚边缘的婚姻危机
  10. 京东数据库智能运维平台建设之路