news 2026/8/14 7:47:25

Linux系统基础运维----3.内存篇

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux系统基础运维----3.内存篇

1.什么是linux内存

首先执行:

free -h

total表示总内存

used表示已占用内存

free表示当前剩余内存free很低并不一定代表内存不足。还要看availab

buff/cache表示Linux为了提高性能而使用的缓存和缓冲区内存。

available:系统在不明显依赖Swap的情况下,还可以提供给新程序使用的内存估计值。

swap是什么也就是我们的交换分区:磁盘上的一块空间,用来在物理内存紧张时临时存放部分内存数据。但是他比ram内存慢的多

假如说我们现在

Mem:total 8Gused 7Gfree 200Mbuff/cache 1Gavailable 4G

free虽然不高但是我们availble还有很多

如果说内存真的不够了我们依旧使用

2.top

%mem表示进程占用了系统内存的比例

res表示进程当前实际驻留在物理内存中的内存大小

按shift+m可以让信息按内存排序

实际排查

free -h

发现available声音200m

swap:used=1.5g

说明内存的确不足

使用top查看按m进行内存排序

java %MEM 45%mysql %MEM 25%python %MEM 10%

发现jave现在内存占用已经45

ps -p PID -f

我们查看这个进程是什么:注意以下几点

Java程序是什么

为什么内存增长

有没有内存泄漏

日志有没有异常

定位后使用

ps aux --sort=-%mem | head

继续查看

3.Swap——Linux的交换空间

Swap 是磁盘上的一块空间,当物理内存(RAM)紧张时,Linux可以把部分暂时不用的内存数据放到Swap里。

什么情况需要警惕?

比如:

Mem: available = 100M ​ Swap: total = 2G used = 1.8G

同时服务器:

明显变慢 程序响应慢 磁盘I/O很高

这时候就非常值得怀疑:

物理内存不足,系统正在大量使用Swap。

因为RAM比磁盘快得多。

swapon --show

4.oom

内存不足-----内核无法继续分配内存----OOM Killer----选择进程----杀掉进程---释放内存
这时候你可能发现:

“为什么我的MySQL突然没了?”

就有可能需要检查OOM记录。

dmesg | grep -i oom

内存总结:

首先收到内存报警,我们先使用free确认内存是否真的存在高负载,重点观察totalusedfreebuff/cacheavailable。然后根据内存指标判断问题方向,如果available较高同时swap也高,再使用top,ps等工具定位内存占用较高的进程。确认具体进程后,判断它属于正常业务还是异常进程。如果是正常业务导致资源不足,则进一步考虑程序优化、限流、扩容或者增加实例;如果是异常进程,则结合日志和业务情况进行处理,必要时停止或重启服务。处理完成后再次观察内存和Load是否恢复正常。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 7:45:51

Restlet 扩展生态:JSON、XML、FreeMarker 等插件的集成与应用

Restlet 扩展生态:JSON、XML、FreeMarker 等插件的集成与应用 【免费下载链接】restlet-framework-java The first REST API framework for Java 项目地址: https://gitcode.com/gh_mirrors/re/restlet-framework-java Restlet 作为 Java 领域首个 REST API …

作者头像 李华
网站建设 2026/8/14 7:45:38

海明码原理与实现:从纠一检二到ECC内存的可靠通信基石

1. 项目概述:从“冗余”到“可靠”的通信基石在数字通信和数据存储的世界里,错误是不可避免的。无论是宇宙射线导致的内存位翻转,还是长距离传输中的信号衰减与干扰,原始的数据比特流在传输过程中都可能悄然改变。对于追求极致可靠…

作者头像 李华
网站建设 2026/8/14 7:45:10

UML图实战指南:10种核心图在软件开发中的关键应用

1. 从“画图”到“工程语言”:为什么UML图是软件开发的必需品在软件开发的日常里,我见过太多这样的场景:一个功能模块,产品经理、后端开发、前端开发和测试工程师围在一起讨论,大家嘴里说的都是“那个东西”、“这个流…

作者头像 李华
网站建设 2026/8/14 7:44:40

TestDisk保姆级恢复指南:分区丢失也能一步步找回来

TestDisk保姆级恢复指南:分区丢失也能一步步找回来 【免费下载链接】testdisk TestDisk & PhotoRec 项目地址: https://gitcode.com/gh_mirrors/te/testdisk TestDisk与它的黄金搭档PhotoRec,是一套完全免费开源的数据恢复组合:前…

作者头像 李华