Linux系统性能分析——内存

一、引言
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
具体参数:
1和2分别代表数据第1行、第2行
total1:总的物理内存大小。
used1:已经使用内存大小。
free1:未使用内存大小。
shared1:共享内存大小(一般不用)。
buffers1:系统分配但未被使用的用来给文件做缓冲的物理内存大小 。
cached1:系统分配但未被使用的用来给高速缓冲存储器用的物理内存大小。
used2:实际使用内存大小
free2:实际可用内存大小
swap:内存交换空间参数
实际使用内存大小=used1-(buffers1+cached1)
实际可用内存大小=free1+buffers1+cached1

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

三、进程占用内存
1、top
top
具体参数:
Mem、Swap:与free命令结果相同
PID:进程id
USER:进程所有者
PR:进程优先级
NI:nice值。负值表示高优先级,正值表示低优先级
%MEM:进程使用的物理内存百分比(使用M可按降序排序)
VIRT:virtual memory usage。进程占用的虚拟内存的大小(VIRT=SWAP+RES)
RES:resident memory usage。进程使用的常驻内存大小,就是进程实际使用内存的情况。
SHR:shared memory。共享内存的大小,包括共享内存、共享库占用的大小等。
S: 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间总计,单位1/100秒
COMMAND:进程名称(命令名/命令行)
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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章