screen案例--不合理设置差点搞服务器搞挂了
案例场景
screen的scrollback模式是占用缓冲区的,为了防止出现日志丢失的情况,想把缓冲区设置大一点。于是执行如下命令:
ctl-a :
然后闭着眼睛输入 scrollback 9999999999999
也不记得输了多少个9,然后屏幕卡死了。强行退出终端,再ssh发现登陆不了系统。
系统其它任务还在运行,但无法ssh登陆。IP也能ping通。本想放弃重启服务器,等了大概20分钟,ssh终于连上去了。登到服务器上查看负载和内存占用:
screen 占了0.23T的虚拟内存,还好CPU负载比较低,其它任务没有被拖死。杀掉进程后,swap分区被释放。
教训
缓冲区或其他数值类的设置要合理,搞不好程序就无限制的索取系统资源了。程序并发设置也要慢慢加,不然CPU抗不住有可能假死,等任务执行完估计要等好几年。
screen的scrollback并不能无限制的扩展,它还受到终端程序缓存大小的限制。检查一下你使用的终端的缓存,不然也无法达到要求。
posted on 2020-10-16 11:53 Digital_life 阅读(244) 评论(0) 编辑 收藏 举报