screen案例--不合理设置差点搞服务器搞挂了

案例场景

screen的scrollback模式是占用缓冲区的,为了防止出现日志丢失的情况,想把缓冲区设置大一点。于是执行如下命令:

ctl-a : 然后闭着眼睛输入 scrollback 9999999999999 也不记得输了多少个9,然后屏幕卡死了。强行退出终端,再ssh发现登陆不了系统。
系统其它任务还在运行,但无法ssh登陆。IP也能ping通。本想放弃重启服务器,等了大概20分钟,ssh终于连上去了。登到服务器上查看负载和内存占用:

screen 占了0.23T的虚拟内存,还好CPU负载比较低,其它任务没有被拖死。杀掉进程后,swap分区被释放。

教训

缓冲区或其他数值类的设置要合理,搞不好程序就无限制的索取系统资源了。程序并发设置也要慢慢加,不然CPU抗不住有可能假死,等任务执行完估计要等好几年。

screen的scrollback并不能无限制的扩展,它还受到终端程序缓存大小的限制。检查一下你使用的终端的缓存,不然也无法达到要求。

原文地址:https://www.cnblogs.com/hyang0/p/13825691.html