Chireiden

地霊殿

地霊殿,充满幻想与希望的殿堂


夢も希望も無い、毎日がそんな生活だった。

ssh连接反应慢的解决方案

发现问题

最近几次走 ssh 连接树莓派的时候,经常会发生连接速度较慢的问题,表现为每次按键后需要几秒时间才能反应过来,甚至直接断开连接,例如局域网ssh延迟这篇中所述的情况。

在发生延迟后,对树莓派ip进行一个的ping,然后,嘿嘿,ping炸了。

简单来说,ping 的时候,丢包率达到了喜人的 87% 以上。

哇,那怎么会这么高呢?

通过直接在树莓派上操作,网络什么也都正常。

唔,所以大致是 ping 不稳定,导致的 ssh 连接不稳?

定位问题

首先,在网上看到了一个有趣的关键词:

高效能以太网

高能效以太网(英语:Energy-Efficient Ethernet,简称EEE)是一套对双绞线与计算机网络标准之以太网家族的背板的增强,使其在低数据活动期间消耗较少的功率。

其目标是将功耗降低50%以上,同时保持与现有设备的完全兼容。

它的功率降低以几种方式实现。在100 Mbit/s、1吉比特和10 Gbit/s速度的数据链路中,物理层发送器会始终使用能量。

在没有数据发送时,它们可以进入“睡眠”模式以节约能源。 当控制器软件或固件确定不需要发送数据时,它可以发出一条“低功耗闲置”(LPI)请求到以太网控制器的物理层PHY。PHY然后将LPI信号在特定时间发送到链路上,以及禁用发送器。

信号刷新将周期性地发送以维持链路信令的完整性。当需要发送数据时,将在预定时间段发送IDLE信号。 数据链路可以被视为始终在运行,因为即使发送路径处在睡眠模式,接收信号的电路仍保持活跃。

综上所述,可以看出,EEE会采用降低发送频率的方式节能

执行该命令,查看是否启用了 EEE。

ethtool --show-eee eth0

通过观察可以看到,输出中,有

EEE status: enabled - active

因此判断出,问题出现在 EEE 上。

解决问题

sudo ethtool --set-eee eth0 eee off

执行后再次检查 EEE 状态,可以看到其已关闭(disabled)。

为了保险,进行

sudo service sshd restart

从而解决问题,丝滑 ssh。

长期配置

可以将其加入开机启动项中,例如在 Raspberry 4B 上,可以将命令加入到 /etc/rc.local 中。

加入的命令如下:

sudo ethtool --set-eee eth0 eee off

竹林里站着一个孩子,十来岁的孩子。

他什么也没做,只是站着,盯着竹子,满脸的愤懑。

他所在的竹林在陈家后山上,外人不得入内,所以,他自然也是陈家的人。

可惜,他的七品资质,在寻常人家里,能让邻里人前人后议论数月不止的七品资质,却让他快要做不了陈家的人了。

由于某些不可言说、无法理解的原因,我今天早上 00:00 的时候租了阿里云的轻量级服务器。

因为要配置相关环境,尤其指 Python 大礼包和 Anaconda(及 pyTorch),并且在过程中踩了很多坑,在其稍作记录。

编程通解编程思想小说 Continue
服务器环境配置centOS Continue