1. 问题背景与现象描述
作为一名长期在工业自动化领域工作的工程师,我最近遇到了一个令人头疼的问题——一台运行Ubuntu 20.04的工控机在调试CRV(可能是某种工业控制程序)时频繁出现"假死机"现象。具体表现为:鼠标指针可以移动,但无法点击任何界面元素;键盘输入完全无响应;更糟糕的是,这种情况往往在我修改代码的关键时刻突然发生,导致工作进度严重受阻。
这种"半死不活"的状态在Linux系统中其实相当典型,业内通常称之为"X Server/GUI Freeze"(图形界面冻结)或"Swap Thrashing"(交换分区颠簸)。前者是指Xorg显示服务或GNOME桌面环境崩溃,而后者则是由于物理内存耗尽,系统频繁在内存和交换分区之间来回倒腾数据,导致响应迟缓。
提示:真正的死机(内核崩溃)通常表现为完全无响应,包括鼠标键盘冻结、网络连接中断、甚至ping都无回复。而"假死机"往往只是用户界面卡住,底层系统仍在运行。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 诊断方法:SSH远程连接验证
2.1 建立SSH连接环境
为了确认这是否真的是"假死机",我决定通过SSH远程连接来验证系统内核是否仍在运行。这个方法的前提是工控机必须与诊断用的电脑处于同一局域网内(连接同一个WiFi或有线网络)。
首先需要在工控机上安装并启用SSH服务:
bash复制sudo apt update
sudo apt install openssh-server
安装完成后,检查服务状态:
bash复制sudo systemctl status ssh
如果看到绿色的active (running)提示,说明SSH服务已正常启动。
2.2 获取工控机IP地址
接下来需要确定工控机在当前网络中的IP地址:
bash复制ip addr show
或者使用传统的(但可能需要额外安装的):
bash复制sudo apt install net-tools
ifconfig
在输出信息中,找到类似inet 192.168.x.x的地址(通常在wlp2s0或eth0接口下),这就是工控机的局域网IP。
2.3 从Windows电脑发起SSH连接
使用另一台Windows电脑,打开命令提示符(cmd)或Power
