linux 性能优化-内存

1 内存性能指标

1.1 内存使用率: 显示系统已使用和可用内存的占比。

1.2 缓存命中率:显示内存缓存访问的成功率。高的缓存命中率表示性能高。

1.3 交换空间使用: 显示系统中交换分区的使用情况,频繁的交换操作可能导致性能下降。

1.4 页面缺失率:显示系统中发生的页面缺失(内存页不在物理内存中)的频繁,高的页面缺失率可能导致性能下降。

2 内存分析工具

2.1 swapon

root@u24-ebpf-100:~# swapon -s

Filename Type Size Used Priority

/swap.img file 3958780 0 -2

NAME:交换设备或文件的路径。

TYPE:类型(partition 或 file)

SIZE:交换空间总大小。

USED:已使用的交换空间。

PRIORITY:优先级(数值越高,优先级越高,-1 表示默认)

2.2 free

root@u24-ebpf-100:~# free -h

total used free shared buff/cache available

Mem: 3.8Gi 485Mi 3.3Gi 1.5Mi 249Mi 3.3Gi

Swap: 3.8Gi 0B 3.8Gi

Mem 行(物理内存)

total:系统总物理内存。

used:已使用的内存(包括缓存和缓冲区)。

free:完全未使用的内存。

shared:被共享内存占用的量(如 tmpfs)。

buff/cache:被内核缓冲(Buffer)和缓存(Cache)占用的内存。

available:系统可用内存(估算值,包含未被使用的缓存和缓冲区)。

Swap 行(交换空间)

total:交换空间总量。

used:已使用的交换空间。

free:未使用的交换空间。

2.3 vmstat

vmstat [间隔] [次数]

root@u24-ebpf-100:~# vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------

r b swpd free buff cache si so bi bo in cs us sy id wa st gu

1 0 0 3427764 20488 235652 0 0 154 13 125 0 1 1 98 0 0 0

字段组 字段 说明

procs

r 等待运行的进程数(若持续 > CPU 核心数,表示 CPU 资源不足)。

b 处于不可中断睡眠状态的进程数(通常等待 I/O 完成)。

memory

swpd 已使用的交换空间总量(单位:KB)。

free 空闲的物理内存(单位:KB)。

buff 用作缓冲区的内存(缓存磁盘块的临时存储)。

cache 用作文件缓存的内存(加速文件读取)。

swap si 每秒从磁盘换入的内存量(swap-in,单位:KB/s)。

so 每秒换出到磁盘的内存量(swap-out,单位:KB/s)。

io bi 每秒从块设备接收的块数(块读,单位:块/s)。

bo

每秒发送到块设备的块数(块写,单位:块/s)。

system

in 每秒中断次数(包括时钟中断)。

cs 每秒上下文切换次数(进程/线程切换)。

cpu

us 用户态程序占用的 CPU 时间百分比。

sy 内核态程序占用的 CPU 时间百分比。

id CPU 空闲时间百分比。

wa CPU 等待 I/O 完成的时间百分比(高值表示磁盘瓶颈)。

st 被虚拟机监控程序(Hypervisor)占用的 CPU 时间百分比(仅虚拟化环境)。

案例一:发现内存不足

现象:swpd 持续增长,si 和 so 频繁变动。

解决:优化内存使用或增加物理内存。

相关推荐
程序员JerrySUN7 分钟前
一文理解缓存的本质:分层架构、原理对比与实战精粹
java·linux·开发语言·数据库·redis·缓存·架构
hryyx12 分钟前
Linux磁盘限速(Ubuntu24实测)
linux·运维·服务器
阿巴~阿巴~22 分钟前
Linux进程状态实战指南:转换关系、监控命令与状态解析
linux·运维·服务器
禁默38 分钟前
解码冯・诺依曼:操作系统是如何为进程 “铺路” 的?
linux·冯诺依曼
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ1 小时前
linux打包指令和移动指令
linux·运维·服务器
菜鸟12号1 小时前
详解Linux下多进程与多线程通信(一)
linux·c语言·嵌入式·进程与线程
羑悻的小杀马特2 小时前
一扇门铃,万向感应——用 eventfd 实现零延迟通信
linux·运维·服务器·eventfd
豆是浪个6 小时前
Linux(Centos 7.6)命令详解:usermod
linux·运维·centos
极地星光7 小时前
网络检测:Linux下实时获取WiFi与热点状态
linux·网络
还是奇怪10 小时前
Linux - 安全排查 3
android·linux·安全