欢迎来到天天文库
浏览记录
ID:9674029
大小:53.00 KB
页数:3页
时间:2018-05-05
《linux服务器的系统内存监控方法详细解析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Linux服务器的系统内存监控方法详细解析 内存是Linux内核所管理的最重要的资源之一。内存管理系统是操作系统中最为重要的部分,因为系统的物理内存总是少于系统所需要的内存数量。虚拟内存就是为了克服这个矛盾而采用的策略。系统的虚拟内存通过在各个进程之间共享内存而使系统看起来有多于实际内存的内存容量。Linux支持虚拟内存,就是使用磁盘作为RAM的扩展,使可用内存相应地有效扩大。核心把当前不用的内存块存到硬盘,腾出内存给其他目的。当原来的内容又要使用时,再读回内存。 一、内存使用情况监测 (1)实时监控内存使用情况 在命令行使用Free命令可以监控内存使
2、用情况#free total used free shared buffers cachedMem: 256024 192284 63740 0 10676 101004-/+buffers/cache: 80604 175420S:)显示物理内存。total列不显示核心使用的物理内存(通常大约1MB)。used列显示被使用的内存总额(第二行不计缓冲)。free列显示全部没使用的内存。Shared列显示多个进程共享的内存总额。Buffers列显示磁盘缓存的当前大小。第五行(Sdash;h参数以字节为单位显
3、示内存使用情况,或者可以使用m参数以兆字节为单位显示内存使用情况。还可以通过s参数使用命令来不间断地监视内存使用情况: #free–b–s2 这个命令将会在终端窗口中连续不断地报告内存的使用情况,每2秒钟更新一次。 (2)组合: 233356 218616 14740 0 5560 64784-/+buffers/cache: 148272 85084Sstat命令监视虚拟内存使用情况 vmstat是VirtualMeomoryStatistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、
4、进程、CPU活动进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。通常使用vmstat55(表示在5秒时间内进行5次采样)命令测试。将得到一个数据汇总它可以反映真正的系统情况。#vmstat55procs-----------memory-------------s------cpu----rb sstat命令输出分成六个部分: (1)进程procs: r:在运行队列中等待的进程数。 b:在等待io的进程数。 (2)内存memoy: swpd:现时可用的交换内存(单位KB)。 free:空闲的内存(单位KB)。 buf
5、f:缓冲去中的内存数(单位:KB)。 cache:被用来做为高速缓存的内存数(单位:KB)。 (3)s系统: in:每秒的中断数,包括时钟中断。 cs:每秒的环境(上下文)切换次数。 (6)cpu中央处理器: cs:用户进程使用的时间。以百分比表示。 sy:系统进程使用的时间。以百分比表示。 id:中央处理器的空闲时间。以百分比表示。 如果r经常大于4,且id经常小于40,表示中央处理器的负荷很重。如果bi,bo长期不等于0,表示物理内存容量太小。 四、Linux服务器的内存泄露和回收内存的方法 1、内存泄漏的定义: 一般我们常说的内存
6、泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,neingettytty12543tty2 Ss+ 0:00 0 81631 4280.1/sbin/mingettytty22547tty3 Ss+ 0:00 0 81631 4320.1/sbin/mingettytty32548tty4 Ss+ 0:00 0 81627 4280.1/sbin/mingettytty42574tty5 Ss+ 0:00
7、 0 81631 4320.1/sbin/mingettytty52587tty6 Ss+ 0:00 0 81627 4240.1/sbin/mingettytty62657tty7 Ss+ 1:18 1217102998170403.0/usr/bin/Xorg:0-br-a2670pts/2 Ss 0:01 2 682621314960.6-bash3008pts/4 Ss 0:00 2 682622114720.6/bin/bash3029pts/4 S+ 0:00 2 321783 5480.2ping1
8、92.168.1.123030pts/
此文档下载收益归作者所有