百度
360搜索
搜狗搜索

Linux怎么查看内存报错详细介绍

在 Linux 中查看内存相关报错,可通过以下方法逐步排查(按优先级排序):

一、实时查看内核内存错误(最直接)

命令
bash

      

说明

  • dmesg 实时打印内核环形缓冲区日志,含内存分配失败、OOM(内存不足)、硬件错误等
  • 常见关键词:
    • OOM killer:内存耗尽时内核强制终止进程
    • BAD_PAGE/BUG:物理内存坏块或硬件问题
    • page allocation failure:连续内存分配失败(常见于高负载)

示例输出
plaintext

[  123.456] OOM killer:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/session-1.scope,task=app,pid=1234,uid=1000

[ 456.789] Memory failure: page allocation failed: order:3, mode:0x2040d0

二、系统日志深度分析

1. 通用日志(适用于非 systemd 系统)

bash

    /var/log/syslog

2. systemd 日志(推荐)

bash

 journalctl   systemd    

journalctl your-app

三、硬件级内存检测(物理故障排查)

1. 临时检测(无需重启)

bash

 edac-utils  

dmidecode

2. 全面检测(需重启)

bash

   memtest86+  

dnf memtest86+

  • 注意:若检测出 Corrected Errors(可纠正错误),需尽快更换内存;Uncorrected Errors(不可纠正错误)为严重硬件故障。

四、应用层内存错误(程序崩溃)

1. 查看 coredump(需开启)

bash

  unlimited  

/proc/sys/kernel/core_pattern

gdb ./your-app /tmp/core-your-app-1234-1623456789

gdb bt

2. 语言特定工具(如 Java/Go)

  • Java:jmap -heap <pid> 查看堆内存溢出
  • Go:go tool pprof http://localhost:6060/debug/pprof/heap 分析内存泄漏

五、内存状态实时监控

bash

     




9123watch htop

典型场景处理建议:

  1. 频繁 OOM:检查是否有内存泄漏程序(ps -eo pid,user,%mem,command | sort -k3 -nr | head
  2. 内核报错含 BAD_PAGE:优先运行 memtest86+ 检测硬件
  3. 程序随机崩溃:结合 coredump 和 dmesg 确认是否为内存访问越界

提示:若需长期监控,可配置 rsyslog 规则将内存日志单独归档(修改 /etc/rsyslog.conf 加入 kern.* /var/log/kernel-memory.log)。

阅读更多 >>>  大数据看电脑配置怎么看

网站数据信息

"Linux怎么查看内存报错"浏览人数已经达到23次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:Linux怎么查看内存报错的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!