ubuntu 系統使用過程中黑屏問題分析

背景:

工欲善其事,必先利其器。作为程序员,想要得到更好的发展,遇到问题直接baidu, google 虽然可以得到一些参考或者答案,但是也会降低自己的思考能力,本文以ubuntu 使用过程中黑屏这一问题为背景,旨在提供一个从零开始完全不借助搜索引擎的问题分析方法。

表像

  1. 使用过程中黑屏,屏幕转而显示VGA 无信号

  2. 待完善

分析

1, 强制重启后,观查journalctl 查看到是gpu 问题导致

a. amdgpu dma 操作超时

amdgpu: ring sdma0 timeout, signaled seq=102898, emitted seq=102899

b. 超时后又发生gpu reset fail

复制代码
[drm:amdgpu_ring_test_helper [amdgpu]] *ERROR* ring gfx test failed (-110)
amdgpu 0000:07:00.0: amdgpu: GPU Recovery Failed: -110

c. gpu reset fail, 会触发EE, 有进一步的提示信息

复制代码
Sep 06 15:29:52 leo /usr/libexec/gdm-x-session[2200]: (EE) Please also check the log file at "/home/leo/.local/share/xorg/Xorg.1.log" for additional information.
Sep 06 15:29:52 leo /usr/libexec/gdm-x-session[2200]:  for help.
Sep 06 15:29:52 leo /usr/libexec/gdm-x-session[2200]:          at http://wiki.x.org

d. 根据上一步的提示信息,查看Xorg.1.log

复制代码
[    18.719] _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
[    18.719] _XSERVTransMakeAllCOTSServerListeners: server already running

e. 根据xorg 的描述,初步定位是xorg 或相关软件问题

FAQErrorMessages

复制代码
I keep getting the message: "Cannot establish any listening sockets..."
You get an error message like:

_XSERVTransSocketINETCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
Fatal server error:
Cannot establish any listening sockets - Make sure an X server isn't already running
This problem is very similar to the previous one. You will get this message possibly because the lock file was removed somehow or some other program which doesn't create a lock file is already listening on this port. You can check this by doing a netstat -ln. Xservers usually listen at tcp port 6000+, therefore if you have started your Xserver with the command line option :1 it will be listening on port 6001.
Please check the article above for further information.

下一步排查发向:

  1. 发生问题时,观查键盘大小写切换键指示灯是否还有变化。

  2. 执行ctrl+alt+f3, 切换到tty 窗口,观查是否有画面,进而拆分是xorg 问题,还是gpu 已经完全不工作

相关推荐
人生百态,人生如梦4 小时前
Ubuntu在低版本下使用ccswitch+claudecode(CCSwitch+Docker+Claude)连调教程
linux·ubuntu·docker·claudecode·ccswitch
坐看风云变幻5 小时前
Betaflight 开发环境搭建保姆级教程(Ubuntu / Windows+WSL / Docker 三方案 + 官方网址大全)
windows·ubuntu·docker·无人机·飞控·betaflight
远牧6 小时前
Ubuntu 26 升级踩坑实录:hermes-agent venv 重建全过程
linux·ubuntu·ai·agent
眼不痛请看我6 小时前
Ubuntu_22.04_LTS虚拟机安装指南
linux·数据库·ubuntu
缘友一世7 小时前
校园网有线网络排查(NetworkManager与netplan的坑)
ubuntu·校园网
大鹏的NLP博客21 小时前
WSL Ubuntu 26.04 升级与环境整理记录
linux·ubuntu·wsl
忆挽篱笙歌1 天前
gdb/cgdb
linux·ubuntu
成为你的宁宁1 天前
【Ubuntu 18.04安装Gitlab】
ubuntu·gitlab
MicrosoftCloud1 天前
性能排查 02|vmstat、iostat、mpstat、sar 怎么读?性能四件套的分工与判读阈值
linux·ubuntu·vmstat·性能监控·iostat·sysstat
承渊政道1 天前
Linux网络学习【UDP Socket编程实战:网络命令与客户端访问Linux验证】
linux·网络·学习·ubuntu·编程实战·udp socket