Linux系统性能分析——内存

来源:互联网 发布:颂党恩 知党史 促成长 编辑:程序博客网 时间:2024/05/29 16:21

一、引言
Linux系统的性能分析,基本上是分为CPU、内存、磁盘IO、网络这几个部分。

本篇介绍内存的性能分析。
二、内存情况
1、 /proc/meminfo
/proc/meminfo
具体参数:
MemTotal:总的物理内存大小。
MemFree:未使用的物理内存大小 。
Buffers:用来给文件做缓冲物理内存大小 。
Cached:被高速缓冲存储器(cache memory)用的物理内存大小。
SwapCached:被高速缓冲存储器(cache memory)用的swap内存交换空间的大小。
Active:在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,除非非常必要否则不会被移作他用.
Inactive:在不经常使用中的缓冲或高速缓冲存储器页面文件的大小,可能被用于其他途径.
SwapTotal:交换空间的总大小 。
SwapFree:未被使用交换空间的大小。
Dirty:等待被写回到磁盘的内存大小。
Writeback:正在被写回到磁盘的内存大小。

2、free
free
具体参数:
total:总的物理内存大小。
used:已经使用内存大小。
free:未使用内存大小。
shared:共享内存大小。
buffers:用来给文件做缓冲物理内存大小 。
cached:被高速缓冲存储器(cache memory)用的物理内存大小。
swap:内存交换空间参数
关系:total = used + free (单位是K)

3、vmstat
vmstat
使用说明:
#vmstat [delay [count]]
delay:代表取样的时间间隔,可省略。
count:代表取样次数,可省略。
具体参数:
swpd:swap内存交换空间已使用的大小。
free:空闲的物理内存的大小。
buff:用来给文件做缓冲物理内存大小 。
cache:被高速缓冲存储器(cache memory)用的物理内存大小。

三、进程占用内存
1、top
top
具体参数:
%MEM:进程使用的物理内存百分比(使用M可按降序排序)
VIRT:virtual memory usage。进程占用的虚拟内存的大小;
RES:resident memory usage。进程使用的常驻内存大小,就是实际使用内存的情况。
SHR:shared memory。共享内存的大小,包括共享内存、共享库占用的大小等。
2、ps
ps
使用说明:
#ps axu –sort -rss | head -5
按照rss排序显示前5条记录。
具体参数:
%CPU:进程的cpu占用率。
%MEM:进程的内存占用率。
VSZ:进程所使用的虚存的大小(Virtual Size)。
RSS:进程使用的驻留集大小或者是实际内存的大小。

三、进程占用内存位置
1、pmap
pmap
使用说明:
#pmap PID
如图所示,显示了PID为1的/sbin/init进程使用的文件及库所占用的内存。
2、jmap
jmap是java提供的内存查看工具,能看java进程的对象内存分配的详细情况.

文章部分内容参考:http://www.simplemain.com/article/

0 0
原创粉丝点击