Linux性能优化之内存性能评估工具

简介: 一、内存性能评估之free命令二、内存性能评估之Sat/pidstat命令三、磁盘性能评估

Linux性能优化之内存性能评估工具

 

内容介绍:

一、内存性能评估之free命令

二、内存性能评估之Sat/pidstat命令

三、磁盘性能评估

 

 

一、内存性能评估之free命令

1)主要功能:

监控Linux系统内存使用状况

 

2)使用方法:

①不加参数,直接输出  free

image.png

 

free  -m

image.png

 

3)输出字段分析:

①直接输出

按列分析:

total:总内存量

used:已使用内存量

free:空闲/剩余内存量

shared:共享内存量

buffers:对文件属性(大小、访问时间、修改时间、权限等)缓存量
cached
:所有文件实际内容的缓存量

按行分析:

Mem:物理内存

-/+ buffers/cache:目前系统完全可用的物理内存大小

Memfree+buffers+cached=-/+ buffers/cachefree

Linux下内存划分为5部分,即usedfreesharedbufferscached,与windows的内存管理机制有很大差别。Linux作为一个服务器,其管理原则是最大使用内存原则,即任何访问过的文件均会被缓存下来,文件关闭后仍不会被释放,目的是更快读取文件,提高读取效率,而windows系统则会将这部分物理内存会被释放。但系统物理内存并不会超负荷,因为Linux系统会按照最近访问与最常访问原则释放一定量的cached内存。因此,判断内存是否充足,应将free值与cached值相加作为参考值,或者直接看-/+ buffers/cachefree值。

Swap:交换分区,或扩展内存

不论物理内存大小如何,都建议要设置Swap值。若物理内存足够大,可以将Swap设置到很小的数值,可以提高系统的性能,避免一些不必要的问题。Swap的判断方式比较单一,若其Used值较大,则说明内存不足。


free  -m

分析方式相同,只是评估的单位不同,当前方式的单位为M(兆)。

 

 

二、内存性能评估之Sat/pidstat命令

(1)主要功能:

监控全部或制定进程占用系统资源的情况,如cpu、内存、设备IO

(2)使用方法:

①全部进程占用内存状态:sar  -r 3  5    表示3秒输出一次,一共输出5

image.png

 

②某一单一进程占用内存状态:首先之间输入pidstat,得到输出结果

image.png

 

再输入pidstat -r -p 28443 3  表示统计PID28443的进程内存占用情况,每3秒输出一次,不终止。

image.png 

 

③获取cpu状态:-u

pidstat -u -p 28443 3表示每3秒统计一次PID28443的进程cpu使用情况

image.png

 

④获取磁盘状态:-d


3)输出字段分析:


①全部进程

kbmenfree:空闲内存大小,单位kb

kbmenused:总内存大小,单位kb

%memused:使用内存占比

kbbuffers:对文件属性(大小、访问时间、修改时间、权限等)缓存量,单位kb

kbcached:所有文件实际内容的缓存量,单位kb

kbcommit:应用程序当前使用内存的大小,单位kb

%kbcommit:应用程序当前使用内存所占的百分比

其优点在于统计结果中包含一个测量值的平均值,能综合分析系统内存的使用情况。

 

②某一单一进程:

VSZ:该进程在该段时间内虚拟内存占用的大小

RSS:该进程在该段时间内物理内存占用的大小

%MEM:该进程占用的总物理内存的占比

 

 

三、磁盘性能评估

(1)所有进程磁盘使用状态:iostat -d组合

iostat -d 2 3表示每2秒统计一次磁盘的使用状态,一共统计3

image.png


输出字段分析(第一次输出值是统计从系统启动开始磁盘使用状态,故数值较大,因此该次输出值可忽略):

tps:对IO评判最直观的标准

Blk_read/s:每秒读取的块的数目

Blk_wrtn/s:每秒写入的块的数目

Blk_read:统计频次内读取的块的数目

Blk_wrtn:统计频次内写入的块的数目

 

2)某一进程中磁盘使用状态:pidstat -d -p

pidstat -d -p 34777 3表示每3秒统计一次PID34777的进程磁盘的占用情况(若访问量为0,则无输出值)

image.png

 

输出字段分析:

kB_rd/s:该进程在该段时间内的读取速率

kB_wr/s:该进程在该段时间内的写入速率

 

3)某一进程中磁盘使用状态:sar -d -p

sar -d -p 1 3表示每3秒统计一次PID1的进程磁盘的占用情况,不终止

image.png


输出字段(仅显示部分)分析(相较于pidstat,输出结果更为全面):

tps:对IO评判最直观的标准

rd_sec/s:读取速度

wr_sec/s:写入速度

await:等待值

结果显示在该统计区间内,sda盘存在写入进程,等待值为0.50

相关文章
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
130 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
508 6
|
4天前
|
运维 监控 Linux
推荐几个不错的 Linux 服务器管理工具
推荐几个不错的 Linux 服务器管理工具
|
2月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
146 48
|
27天前
|
算法 Linux
深入探索Linux内核的内存管理机制
本文旨在为读者提供对Linux操作系统内核中内存管理机制的深入理解。通过探讨Linux内核如何高效地分配、回收和优化内存资源,我们揭示了这一复杂系统背后的原理及其对系统性能的影响。不同于常规的摘要,本文将直接进入主题,不包含背景信息或研究目的等标准部分,而是专注于技术细节和实际操作。
|
2月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
42 4
|
2月前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
|
2月前
|
缓存 Linux
如何检查 Linux 内存使用量是否耗尽?
何检查 Linux 内存使用量是否耗尽?
|
2月前
|
算法 Linux 开发者
深入探究Linux内核中的内存管理机制
本文旨在对Linux操作系统的内存管理机制进行深入分析,探讨其如何通过高效的内存分配和回收策略来优化系统性能。文章将详细介绍Linux内核中内存管理的关键技术点,包括物理内存与虚拟内存的映射、页面置换算法、以及内存碎片的处理方法等。通过对这些技术点的解析,本文旨在为读者提供一个清晰的Linux内存管理框架,帮助理解其在现代计算环境中的重要性和应用。
|
2月前
|
存储 算法 安全
深入理解Linux内核的内存管理机制
本文旨在深入探讨Linux操作系统内核的内存管理机制,包括其设计理念、实现方式以及优化策略。通过详细分析Linux内核如何处理物理内存和虚拟内存,揭示了其在高效利用系统资源方面的卓越性能。文章还讨论了内存管理中的关键概念如分页、交换空间和内存映射等,并解释了这些机制如何协同工作以提供稳定可靠的内存服务。此外,本文也探讨了最新的Linux版本中引入的一些内存管理改进,以及它们对系统性能的影响。