需求:同事反映服务器每当下午下班时就出现终端登录难、业务办理长时间无响应。
经查,升腾终端绑定程序与每个终端都有大量无效连接 (Perl获取连接本机的外部IP信息),即使,终端离线占用的资源依然不释放,下次连接时又重新创建新连接,重复。直至耗尽服务器可用资源同时CPU占用率100%
上述,个人凝为升腾程序BUG,联系厂家后暂未给出解决方法,临时编写这个程序手动回收被过多占用的资源。
优点:批量KILL程序快速回收被占用的资源。
#!/usr/bin/perl -w use strict; ############################################################ # 文件:kill_centerm.pl # 功能:杀掉运行状态的升腾终端绑定程序进程(centermtelnetd) # 需求:同事反映服务器每当下午下班时就出现终端登录难、业务办理 # 长时间无响应。 # 经查,升腾终端绑定程序与每个终端都有大量无效连接,即使,终 # 端离线占用的资源依然不释放,下次连接时又重新创建新连接, # 重复。直至耗尽服务器可用资源同时CPU占用率100% # 上述,个人凝为升腾程序BUG,联系厂家后暂未给出解决方法,临时 # 编写这个程序手动回收被过多占用的资源。 # 优点:批量KILL程序快速回收被占用的资源。 # 版本:v0.1 # 时间:2012-3-28 22:46 # 作者:半点闲 # 测试平台: # SCO_SV scosysv 3.2 5.0.6 i386 ############################################################ ############################## # ps: # -e 显示所有进程,环境变量; # -f 全格式; # -l 长格式; ############################## open (CEN,"ps -elf |") or die "Can't open wordcount:$!"; while (<CEN>){ #提取 #S(state of the process)域 #R:运行状态(runnig)的进程的PID if (/R\s+\w+\s+(\d+).*center.*$/){ print "$&\n" if kill -9,$1; } } close CEN;
被占用时top命令界面图: