上一篇
📢 最新动态(2025年8月)
近期Linux内核6.9版本优化了内存压缩算法,对高负载服务器的OOM(内存溢出)处理效率提升约15%,运维人员可关注/proc/meminfo
中新增加的Zswap
统计项。
服务器内存就像人类的短期记忆💾——用满会卡顿,溢出会崩溃!通过Linux命令实时监控内存使用,能快速定位性能瓶颈,避免服务宕机。
free -h
👀 一眼看懂内存状态$ free -h total used free shared buff/cache available Mem: 32G 12G 5G 1.2G 14G 18G Swap: 8G 0B 8G
available
:真正可用的内存(含缓存回收空间)📊 buff/cache
:磁盘缓存占用的内存,必要时可释放 top
🚦 动态监控内存杀手按Shift+M
按内存排序进程:
PID USER %MEM COMMAND
789 mysql 25% mysqld
456 java 18% java -Xmx16G
%MEM
超过10%的进程⚠️ E
切换内存单位(KB/MB/GB) vmstat 2 5
📈 洞察内存波动趋势procs -----------memory---------- ---swap--
r b swpd free buff cache si so
1 0 0 523412 102344 1801232 0 0
si/so
:Swap交换频率(持续大于0说明内存不足❗) cat /proc/meminfo
🔍 查看内核级内存详情MemTotal: 32894204 kB
MemFree: 523412 kB
Cached: 1801232 kB
SwapCached: 0 kB
Slab
:内核对象占用内存(如频繁增长可能内存泄漏) HugePages
:大页内存配置情况 smem -s swap
🕵️ 揪出隐形内存消耗者(需安装smem
工具)
PID User Swap USS PSS
666 nginx 124M 89M 92M
USS
:进程独占内存(最真实占用) PSS
:按共享比例计算的内存(更公平) 现象:free
显示available
接近0,服务响应变慢
解决:
top
找到内存大户 sync; echo 3 > /proc/sys/vm/drop_caches
清理缓存 现象:vmstat
中so
持续大于0
危险:磁盘IO飙升,性能雪崩❄️
解决:
sysctl vm.swappiness=10
(降低交换倾向) swapoff -a
(仅限内存充足时) valgrind --leak-check=yes your_program
#!/bin/bash echo "$(date) 内存状态:" >> /var/log/mem.log free -h >> /var/log/mem.log
echo 40 > /sys/module/zswap/parameters/max_pool_percent
掌握free
、top
、vmstat
三件套能解决80%内存问题,遇到复杂情况时/proc/meminfo
和smem
是终极武器。健康的服务器内存应该像海绵🧽——有弹性空间,而不是灌满的水桶!
(注:本文命令测试于CentOS 9/RHEL 9及Ubuntu 24.04 LTS,2025年8月验证)
本文由 汉鸿才 于2025-08-02发表在【云服务器提供商】,文中图片由(汉鸿才)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/515056.html
发表评论