`
zjutsoft
  • 浏览: 455133 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux系统内存占用90%以上——解决方法

阅读更多
首先要明确一个问题:Linux系统内存占用90%以上,是否属于正常范围?网上有详细的解释,这属于正常现象~~~

Linux/Unix系统管理内存的方式和windows是不一样的,即便是一个负载很小的linux,跑几天后,内存占用量也将达到90%以上,即便无人访问,这个数字是完全正常的。但是,这个内存占用量不会达到100%的,每天夜里系统都会执行/etc/cron.daily进行内存优化。

Linux/Unix系统是非常稳健的,虽然内存占用显示90%以上,但依然可保证365天以上无须重启。对于Linux系统,评估其压力的主要指标是最近5分钟的负载指数:比如用w命令或者top去看,可以看到“0.70 0.35 0.01”这样的数字,分别表示5分钟内的、10分钟内的、15分钟内排队的进程数,只要第一个数字即5分钟内的负载不大于5,系统就是健康的,不用做任何维护;如果这个数字大于了5,那么通常系统速度就会变慢,一般有如下几种可能:

1) 有程序占用大量CPU,使用top命令来检查(看看是否有java程序锁死之类的故障)

2) 有程序占用大量内存,使得内存真正不够用了(这个才是真正需要加内存的时候),比如由于MySQL在较大负载下运行容量为GB级别的数据库导致内存不够用,需要给服务器插入更多物理内存

3) 磁盘系统读写故障,IO吞吐错误造成CPU负载上升,需要光盘引导进入单用户模式扫描修复磁盘,修不好就只能更换新硬盘了

因此,对于Linux/Unix系统内存占用的百分比,无须过于关心,一般检查系统负载参数即可 


但也可以手动进行内存释放,具体操作如下:  

[root@ajcheng]# cat /proc/sys/vm/drop_caches

首先,/proc/sys/vm/drop_caches的值,默认为0
[root@ajcheng]# sync
手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)
[root@ajcheng]# echo 3 > /proc/sys/vm/drop_caches
[root@ajcheng]# cat /proc/sys/vm/drop_caches
3
将/proc/sys/vm/drop_caches值设为3
[root@ajcheng]# free -m
total used free shared buffers cached
Mem: 249 66 182 0 0 11
-/+ buffers/cache: 55 194
Swap: 511 0 511
再来运行free命令,发现现在的used为66MB,free为182MB,buffers为0MB,cached为11MB.那么有效的释放了buffer和cache. 
分享到:
评论

相关推荐

    共享内存——shared

    在linux实现共享内存的创建、写入数据、读取数据

    操作系统(内存管理)

    文将对 Linux™ 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半...

    XHR——XMLHttpRequest对象 - gaojun - 博客园1

    3. Re:JS面向对象的程序设计 4. Re:查看LINUX进程内存占用情 1. 查看LINUX进程内存占用情况 2. Linux上Oracle 11g安装步

    内存管理内存管理内存管理

    (映射是一个表示一一对应关系的数学术语 —— 当内存的虚拟地址有一个对应的物理地址来存储内存内容时,该内存将被映射。) 基于 UNIX 的系统有两个可映射到附加内存中的基本系统调用: brk:brk() 是一个非常...

    Linux中安装Glances监控器完整教程(含所有必须安装的工具)

    但是,有些时候想要通过她寻找一个占用系统资源比较大的应用或进程可能会比较困难。 因为 top 命令本身并不会帮助我们高亮那些吃太多 CPU,内存,或者其他资源的程序。 为了达到这个目标,这里我们将介绍一款超牛逼...

    详解Linux如何查看当前占用CPU或内存最多的几个进程

    2、ps:参数a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分。 ps -aux的输出格式如下: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0...

    《计算机操作系统》期末复习指导

    对考试很有帮助的.......... ...UNIX或Linux操作系统中文件系统的主要特点 (1)操作系统文件的目录组织是一个树形结构,从根结点到叶子称为文件的全路径名,文件可以由其全路径名唯一确定...

    LEMH:使用快速、高性能的 LEMH 堆栈在 docker 上运行的 PHP 应用程序——Linux、nginx、MySQL、HHVM

    一个 512mb 的 DigitalOcean droplet 可以轻松处理 Wordpress 和 esoTalk 等应用程序的最小部署——LEMH 提供页面的速度快得吓人,而且内存占用低。 此存储库是 docker 映像以及在 LEMH 上运行的 PHP 应用程序的几...

    在线客房预订系统源码

    到大流量,从个人到企业各方面应用的要求,为你提供一个全新、快速和优秀的网站解决方案,在技术上CMSEZ系统 更容易学习、掌握和发挥!为了您能早日拥有自己的网站或让您企业实现电子商务敬请留意本站点,或在...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    2、能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务; 3、组件的开发和使用很方便:如ASP的组件是由C++,VB等语言开发的,并需要注册才能使用;...

    基于J2EE框架的个人博客系统项目毕业设计论...

    2、能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务; 3、组件的开发和使用很方便:如ASP的组件是由C++,VB等语言开发的,并需要注册才能使用;...

    DELL-服务器-RAID-配置详解.doc

    磁盘阵列不单只可以加入一个现成的系" "统,它更可以支持容量扩展,方法也很简单,只需要加入一个新的硬盘并" "执行一些简单的指令,系统便可以实时利用这新加的容量。 " "·RAID 的种类及应用 " "IDE和SCSI是计算机...

    windows实用dos命令大全

    一)MD——建立子目录 1.功能:创建新的子目录  2.类型:内部命令  3.格式:MD[盘符:][路径名]〈子目录名〉  4.使用说明:  (1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;...

    Docker容器应用中,10个要不得的坏习惯

    第二:容器很轻——容器的内存占用量很小。容器将只为主要进程分配内存,而不是数百或数千MB。 第三:容器非常快——可以像启动典型Linux进程一样快地启动容器。你可以在几秒钟内启动一个新容器,而不是几分钟。 ...

    一个进程池的服务器程序

    一个进程池的服务器程序 ... 流程大概如下: 1,父进程listen,创建pipe(下面所有父子进程之间的通信都用该pipe) 2,父进程预fork n个子进程 3,各个子进程accept(listenfd),即所有子进程竞争accept请求。...

    Kingsoft WPS Office Pro 2016 v10.8.0.5391 专业增强版.zip

    WPS Office具有内存占用低、运行速度快、体积小巧、强大插件平台支持等优势。WPS Office支持桌面和移动办公,包含WPS文字、WPS表格、WPS演示三大功能模块,与MS Word、MS Excel、MS PowerPoint一一对应,应用XML数据...

    新版Android开发教程.rar

    � Android 更像一款桌面环境为 Java 的 Linux 操作系统。有助于 Google 实现其 " 随时随地为每个人提供信 息 " 的企业战略。 HTC HTC HTC HTC Dream/G1 Dream/G1 Dream/G1 Dream/G1 具体配置 硬件 3.17 英寸 HVGA ...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...

    uboott移植实验手册及技术文档

    了解 U-Boot-1.3.1 的代码结构,掌握其移植方法。 【实验环境】 1、Ubuntu 7.0.4发行版 2、u-boot-1.3.1 3、FS2410平台 4、交叉编译器 arm-softfloat-linux-gnu-gcc-3.4.5 【实验步骤】 一、建立自己的平台...

Global site tag (gtag.js) - Google Analytics