系统监控-硬件资源-内存篇01-整体思路-性能指标-性能工具概览-Buffer/Cache

本文介绍了内存性能分析的方法,包括使用free、top、vmstat等工具监控内存使用,区分缓存/缓冲区占用,识别内存泄漏,以及优化策略如禁止Swap、减少动态分配和使用缓存。同时详述了内存性能指标和Buffer/Cache的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考来源:性能优化实战

内存的功能主要用来存储系统和应用程序的指令、数据、缓存等

内存性能分析整体思路

当你看到系统的剩余内存很低时,是不是就说明,进程一定不能申请分配新内存了呢?当然不是,因为进程可以使用的内存,除了剩余内存,还包括了可回收的缓存和缓冲区。
为了迅速定位内存问题,我通常会先运行几个覆盖面比较大的性能工具,比如
free、top、vmstat、pidstat 等。

先用 free 和 top,查看系统整体的内存使用情况。
再用 vmstat 和 pidstat,查看一段时间的趋势,从而判断出内存问题的类型。
最后进行详细分析,比如内存分配分析、缓存 / 缓冲区分析、具体进程的内存使用分析等。

在这里插入图片描述
1、通过 free,发现大部分内存都被缓存占用后,可以使用 vmstat 或者 sar观察一下缓存的变化趋势,确认缓存的使用是否还在继续增大

如果继续增大,则说明导致缓存升高的进程还在运行,那你就能用缓存 / 缓冲区分析工具(比如 cachetop、slabtop 等),分析这些缓存到底被哪里占用

2、当你 free 一下,发现系统可用内存不足时,首先要确认内存是否被缓存 / 缓冲区占用。排除缓存 / 缓冲区后,你可以继续用 pidstat 或者 top,定位占用内存最多的进程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值