Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux内存占用接近100%排查

Linux服务器内存占用接近100%时的排查方法

作者:Java小白笔记

想知道Linux内存怎么查,本文教你用free、top、ps快速找到占用内存最多的进程,还详细讲解Java服务的JVM参数设置和nohup后台运行,帮你轻松解决内存问题,需要的朋友可以参考下

服务器内存满了,想要排查具体是哪个服务或进程占用了大量内存,可以通过 Linux 系统的常用命令来查看和定位。下面给你详细讲解常用的排查步骤和工具:

一. 查看总内存使用情况

free -m

二. 查看内存使用最多的进程

推荐使用 top 或 htop(若已安装):

用 top

top

进入后,按 %MEM 列排序(通常默认就是按 CPU 排序,可以按 M 键切换到按内存排序)
按 M 键后,最占内存的进程会排在最上面,查看进程名和 PID

按 q 退出

用 htop(如果安装了)

htop

界面更友好,可以直接点击内存列排序,搜索进程等

三. 用 ps 命令列出占用内存最多的进程

这是最直接的命令行方式:

ps aux --sort=-%mem | head -20

四. 查看某个进程的详细内存使用情况

假设你找到了某个 PID(比如 1234),可以查看具体内存使用:

pmap -x 1234

或者

cat /proc/1234/status | grep Vm

五. 查看系统中所有服务的内存占用情况(结合 systemctl)

如果你想针对服务,可以先找到对应的进程 PID 后,再结合 systemctl status 服务名 去确认。

六. 常见场景诊断

七. 实用脚本示例:查看 Top 10 占用内存最多的进程及对应服务名

ps -eo pid,ppid,cmd,%mem --sort=-%mem | head -10

如果你想结合服务名,可能需要你了解进程对应的服务。

八. 清理建议

排查到占用内存的进程后:

九. 堆内存设置

nohup java -Xmx1G -Xms1G -XX:MaxMetaspaceSize=1024M -XX:+UseG1GC `cat jvmparams` -jar spider.jar --server.port=6085 > _spider.out 2>&1 &

1.nohup

2.java

3. JVM 参数部分

4.-jar spider.jar

5.--server.port=6085

6. 重定向部分:> _spider.out 2>&1

7. 结尾的&

总结

以上就是Linux服务器内存占用接近100%时的排查方法的详细内容,更多关于Linux内存占用接近100%排查的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文