一、内存占用高是正常现象吗?

在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,在这方面,区别于 Windows的内存管理。主要特点是,无论物理内存有多大,Linux都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。而Windows是只在需要内存时,才为应用程序分配内存,并不能充分利用大容量的内存空间。换句话说,每增加一些物理内存,Linux都将能充分利用起来,发挥了硬件投资带来的好处,而Windows只将其做为摆设,即使增加8GB甚至更大。

Linux 的这一特性,主要是利用空闲的物理内存,划分出一部份空间,做为 cache 和 buffers,以此提高数据访问性能。

页高速缓存(cache)是Linux内核实现的一种主要磁盘缓存。它主要用来减少对磁盘的I/O操作。具体地讲,是通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理内存的访问。

磁盘高速缓存的价值在于两个方面:第一,访问磁盘的速度要远远低于访问内存的速度,因此,从内存访问数据比从磁盘访问速度更快。第二,数据一旦被访问,就很有可能在短期内再次被访问到。

二、查看内存使用的正确方法

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

total   used   free   shared  buff/cache   available

Mem:   7.6G    3.7G   2.8G    956M    1.1G      2.8G

Swap:    0B     0B    0B

详解:

1、total:总的物理内存

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

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

4、shared:共享内存

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

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

三、清理缓存

当系统内存不足时,用free查看,内存buff/cache占用很多。此时,可清理内存,将缓存数据写入到磁盘,然后清理内存。

1、编写清理脚本

思路:可以判断free中可用内存的大小,放入定时任务,进行实时监控。#!/bin/bash

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

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

if [ $Free -lt 2500 ];then

sync

echo 3 > /proc/sys/vm/drop_caches

fi

可以按照自己的生产环境,进行修改脚本

crontab* * * * * /bin/sh /.Script/mem.sh >/dev/null 2>&1

总结:此博客,如有错误地方,欢迎━(*`∀´*)ノ亻大家积极指出来。

linux7空闲内存,centos7 内存占用率高处理问题相关推荐

  1. linux创建云主机内存不足,云主机DC2 Linux系统CPU与内存占用率高导致无法登录

    本文档介绍 Linux 云服务器因 CPU 与内存占用率高导致无法登录等问题的排查方法和解决方案. 登录与查看系统负载登录云服务器.通过第三方软件远程登录 Linux 云服务器( Linux 云服务器 ...

  2. 内存和CPU占用率过高,该怎么办?

    转载自戴尔 公众号 戴尔 今天 " 电脑的内存和CPU都达到非常大的占用率时 就很可能会导致系统崩溃 " 本期视频中,小编将指导大家如何尽量有效的减少内存和CPU的占用率. 尝试进 ...

  3. 任务管理器--内存、磁盘占用率很高解决方法

    引起内存.磁盘占用率很高的原因有很多 有些服务的开启.杀毒软件的开启.开机自动启动的服务 解决方法 关闭家庭组服务 关闭磁盘碎片处理.自动维护计划 关闭superfetch服务 参考地址 https: ...

  4. CPU、内存占用率高排查

    CPU高占用 排查思路 top 命令查看CPU占用率高的进程 top -H -p ${pid} 命令查看具体是进程的哪个线程占用CPU printf '%x\n' ${pid} 将线程的pid转为16 ...

  5. 服务器内存使用率高找不到是哪个进程,内存占用率高,但是找不到内存消耗大的程序...

    您好, window 8 对系统软硬件这块的要求相比之前的操作系统而言,可能会高,需要能够支持这块的软硬件或软硬件厂商的支持.我们也了解了下遇到该问题的其他用户,在window 8 开机后可能会有CP ...

  6. 电脑没有开任何软件,但是cpu、内存和磁盘占用率都非常高的解决办法

    有时候电脑运行了很长时间没关机,或者是重新开机之后,没有开启任何软件,自启动软件也都关闭,但是电脑的cpu.内存和磁盘占用率都非常高,导致电脑非常卡,如图所示: 所以小编去找了一些解决办法,在这里给大 ...

  7. TensorFlow 显存占用率高 GPU利用率低

    文章目录 nvidia-smi指令 动态刷新GPU信息 显存占用高,但是CPU使用率低 回头再看 nvidia-smi指令 命令位置: 所以Path中添加环境变量: C:\Program Files\ ...

  8. 电脑CPU占用率高是什么原因造成的? 与解决方法

    电脑CPU占用率高是什么原因造成的? CPU占用率高的九种可能 1.防杀毒软件造成故障 由于新版的KV.金山.瑞星都加入了对网页.插件.邮件的随机监控,无疑增大了系统负担.处理方式:基本上没有合理的处 ...

  9. 解决kswapd0 CPU占用率高的问题

    解决kswapd0 CPU占用率高的问题 连接服务器时发现cpu使用率100%,使用top命令查看是kswapd0进程占用cpu极高 百度下后知道kswapd0进程的作用: 它是虚拟内存管理中,负责换 ...

  10. 性能优化之CPU占用率高(一)

    文章部分摘于,点击查看原文​​​​​​​ 当我们cpu使用率高的情况下会出现什么情况? 我们访问程序的速度比较慢,运行时间长. 系统崩溃,无法访问程序. 什么情况会导致Java应用程序的CPU使用率飙 ...

最新文章

  1. binlog数据库不写入binlog_mysql 为什么不能仅仅用 binlog 保证不丢数据
  2. 记录一些使用git过程中的bug
  3. typedef 与 define
  4. 硬盘读取不了--完美解决
  5. ARM汇编中lr(r14)寄存器的作用
  6. web通讯录之登录注册界面
  7. XSS漏洞(跨站脚本)
  8. Esper学习笔记四:EPL语法(2)
  9. CentOS下配置redis允许远程连接
  10. 【重温基础】6.数字
  11. 介绍4个大神常用而你不常用的python函数--assert,map,filter,reduce
  12. 华为WLAN产品命名规范
  13. 天然气故障代码大全_天然气燃气表显示的数字代表什么(错误代码办法)
  14. 【Axure】--原型设计简易手册
  15. TestStand 语言配置文件说明
  16. 国外科研论文搜索网站汇总
  17. STM32串口通信以寄存器地址和HAL两种方式实验Hello Windows!
  18. 实战 | 用 Python 选股票,据说可以多挣个20%
  19. 基金量化交易系统如何实现套利成功?
  20. 谷歌浏览器无法正常使用怎么办?Google浏览器无法正常使用的解决方法

热门文章

  1. 【英语学习】【WOTD】bathetic 释义/词源/示例
  2. 对象json字符串数组 java对象,java把json的字符串转换为json对象和数组
  3. 常见Java开发过程中遇到的问题及其解决办法
  4. 在linux中写php语言吗,将PHP作为Shell脚本语言使用
  5. mysql result mysqli_MYSQLI_USE_RESULT or MYSQLI_STORE_RESULT
  6. UE4 Light Functions(光源函数)
  7. Windows中导出电脑文件名或者文件结构的方法
  8. 组复制官方翻译六、Upgrading Group Replication
  9. 关于CSS与HTML知识点总结(二)
  10. C语言cJSON库的使用,解析json数据格式