暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

linux无法通过SSH连接Linux实例

原创 Shyai 2022-09-27
326

无法在通过SSH连接Linux实例

说明:此处涉及的内核参数如下:

net.ipv4.tcp_tw_recycle
net.ipv4.tcp_timestamps

问题现象 无法在通过SSH连接Linux实例,或者访问该Linux实例上的HTTP业务出现异常。Telnet测试会被reset。

原因分析 如果您的网络是NAT共享方式上网,该问题可能是由于NAT环境和目标Linux相关内核参数配置不匹配导致。尝试通过修改目标Linux实例内核参数来解决问题。

远程连接目标Linux实例。

执行以下命令,查看当前配置。

cat /proc/sys/net/ipv4/tcp_tw_recycle
cat /proc/sys/net/ipv4/tcp_timestamps

查看上述两个配置的值是否为0,如果为1,NAT环境下的请求可能会导致上述问题。

解决方法 通过以下方式将上述参数值修改为0。修改/etc/sysctl.conf配置文件。添加如下内容。

net.ipv4.tcp_tw_recycle=0
net.ipv4.tcp_timestamps=0

清理系统的缓存

/proc/sys是一个虚拟文件系统,可以通过对它的读写操作做为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整。那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存。其默认数值为0.

向/proc/sys/vm/drop_caches中写入内容,会清理系统缓存**清理缓存前,建议先执行sync(sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)。**执行echo 1、2、3 至/proc/sys/vm/drop_caches, 达到不同的清理目的

echo N > /proc/sys/vm/drop_caches # N的值可以为1,2,3。非必要情况不可执行,如必须执行应尽量执行echo 1.
# echo 1是释放页缓存,echo 2 是释放slab,而echo 3就是既释放页缓存,又释放slab。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论