服务器系统是centos7.2,今天使用CRT登录的时候忽然变得很慢,以下问题解决的过程
ssh登录慢首先想到的是服务端sshd的配置问题,老生常谈,关闭UseDNS和GSSAPIAuthentication,然后重启sshd服务。再重新登录,问题依旧。
然后想到,会不会是环境变量的问题,于是查看/etc/profile ,用户目录下的.bash_profile和.bashrc,本来想三个文件都看看,不过这样的话太麻烦,于是采用一个捷径,使用su - username切换几个用户试一下,果然都很慢,和ssh登录时的现象一致,由此可以确定是/etc/profile中的问题。为了确定是否真的是它的问题,source一下/etc/profile,果然慢的要命。
那么,究竟是/etc/profile的哪一部分执行的慢呢,于是在/etc/profile中加了几个echo,打印一下日志看看吧,最后定位到了这一部分
继续进行更加详细的定位,把出问题的脚本定位到了/etc/profile.d/abrt-console-notification.sh,终于找到罪魁祸首了。可是执行这个abrt-console-notification.sh的时候究竟哪里很慢呢?使用sh -x执行一下试试呗,然后就定位到了+ abrt-cli status --since=1511508566这行语句卡住了,就是它!!那么这个abrt是什么鬼呢?它是centos7.x自带的一个系统服务,默认启动,它的作用是什么呢?百度了一下,发现介绍很少,好不容易找到一个关于它的介绍,还是繁体的,可能是台湾的同行翻译的吧哈哈哈,内容如下:
(系統)abrtd
服務可以提供使用者一些方式,讓使用者可以針對不同的應用軟體去設計錯誤登錄的機制, 當軟體產生問題時,使用者就可以根據 abrtd 的登錄檔來進行錯誤克服的行為。還有其他的 abrt-xxx.service 均是使用這個服務來加強應用程式 debug 任務的。
大概能看懂啥意思吧,果断关闭之~, systemctl stop # systemctl disable
退出终端,重新ssh登录,果然ok了~
当然还有个遗留的问题,为什么brt-cli status执行的很慢呢?百度半天也没找到答案!!!!

本文记录了一次在CentOS 7.2系统上遭遇SSH登录速度极慢的问题及解决过程。首先考虑了sshd配置问题,关闭UseDNS和GSSAPIAuthentication无效。接着通过切换用户排除了环境变量的影响,最终发现是/etc/profile中的abrt-console-notification.sh脚本导致的延迟。通过进一步定位,发现abrt-cli status命令卡住,了解到abrt是CentOS的错误报告服务,关闭该服务解决了问题。尽管未找出abrt-cli status执行慢的具体原因,但系统已恢复正常运行。
446

被折叠的 条评论
为什么被折叠?



