linux ssh -X 系统负载高时图形应用程序将无法启动

linux ssh -X 系统负载高时图形应用程序将无法启动

所以我使用 ssh -X 访问服务器。我在 Xubuntu 桌面上访问隔壁房间的 Ubuntu 服务器。通常一切都运行正常,但当系统负载过高时,我拥有的任何图形应用程序都会冻结并且无法重新启动。

即使使用“nice -n 19”将导致高负载的进程降为低优先级,也会发生这种情况。即使系统负载很高,命令行仍能正常工作,没有延迟,服务器上运行的其他应用程序(例如虚拟机)也能正常运行。但通过 X 运行的任何图形应用程序都会死机。

当图形应用程序失败时,它们通常会发出提示超时的错误消息。

似乎与 X 连接的某些东西优先级较低并且超时。但这是什么?如何修复它?

答案1

由于我产生了兴趣,我决定进行几个实验。

首先,不使用 ssh,我在计算机上启动了三个使用 MPI 编写的相同程序。每个副本单独占用了我计算机的所有 8 个核心,达到 100%。当它们以相同优先级一起工作时,它们平均消耗相同的 CPU 时间。然后我将其中一个程序的优先级更改为 19。但它们平均消耗的 CPU 时间仍然相同。更让我惊讶的是,即使三个副本中的一个优先级为 -20,另外两个优先级为 19,也没有任何变化。

然后我决定使用 ssh。我从另一间房间的一台电脑以 X 模式连接到我的电脑,并启动了几个运行繁重的应用程序。它们不依赖于任何优先级(Xorg、ssh、3 个程序副本的优先级),以一种似乎不会停止的方式共享 CPU 时间,尽管 X 应用程序比平时慢一点。

当然,这个实验不能被视为 100% 正确,但事实上它让我想到问题不在于 CPU,而在于内存消耗(因为进程优先级不影响内存使用)或网络速度。尝试检查这两个问题。祝一切顺利!

相关内容