需求:同事反映服务器每当下午下班时就出现终端登录难、业务办理长时间无响应。
经查,升腾终端绑定程序与每个终端都有大量无效连接 (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命令界面图: